C에서 개발된 dll 을 랩뷰에서 사용 테스트 중
맨 처음 공유라이브러리 반입 마법사로 반입하여 테스트는 잘하였으나
테스트 vi를 저장하는 과정에서 오류가 났고 저장이 안되어
새 vi를 작성 후 실행하면
위 오류로 vi가 멈추며
위 오류로 인해 랩뷰가 종료되는 일이 발생합니다.
혹여나 비슷한 경험이 있으신분들이 계실까 글올려 봅니다.
dll 파일과 헤더파일 첨부합니다.
(dll파일은 설치를 해야 동작하는데 exe파일이 올라가지 않네요)
04-26-2022 02:18 AM - 편집 04-26-2022 02:20 AM
아래 글은 반입 마법사 쓰셔서 하셨다는 말을 제가 안읽어서 단 글입니다.
첨언하자면, 함수 원형이랑 WINAPI 형식으로 호출하는 것을 고치시면 되실 겁니다.
이상입니다.
==========================
일단 vi 가 19버전이라서 못 열어서,
기본적인걸 말씀 드립니다.
라이브러리 호출 노드를 사용해서, 직접 함수원형을 만들면 가끔씩 말씀하신 에러가 발생하는데
주로 문자열 포인터, 숫자형 배열 포인터 같은 것이 포함되면 그렇습니다.
첫번째 그림은 함수원형이 맞지 않다는 뜻이고, 두번째 그림은 함수원형이 맞지 않아서 메모리 충돌난 에러입니다.
그래서, 헤더 파일도 있고 하니
라이브러리 반입 마법사를 사용하시는 것을 추천 드립니다.
반입 마법사는 '도구' -> 반입 에서 찾을 수 있습니다.
실행하시면, dll 과 헤더파일을 요구하고
아래와 같이 블록다이어그램 함수 팔레트에 넣어줍니다.
지금 반입해보니 __stdcall 이라서 WINAPI 로 호출하시면 되구요. 알아서 해줍니다.
이 때, 계속 진행해서 vi 여러개로 만드셔도 되고,
함수원형만 비교해 보시고 기존 파일을 고치셔도 됩니다.
아래는 VI 로 만드는 과정이고(자동 진행됩니다)
다 끝나면 아래와 같이 팔레트에 보입니다.