컨버팅하신 델파이 소스를 보시면 RC라는 이름을 중복으로 사용하셨습니다.
이 부분이 컴파일 에러 부분입니다.
대충 바꿔보자면...
(RC 타입을 별도로 열거형 타입으로 만들었다면 Integer 대신 해당 타입을 쓰셔도 됩니다.)
/// USB Open Device
/// EXP RC WINAPI LJIF_OpenDeviceUSB();
function LJIF_OpenDeviceUSB(): Integer; stdcall; external 'LJIF.DLL';
/// Ether Open Device
/// EXP RC WINAPI LJIF_OpenDeviceETHER(IN LJIF_OPENPARAM_ETHERNET* pOpenParam);
/// PLJIF_OPENPARAM_ETHERNET는 LJIF_OPENPARAM_ETHERNET의 포인터 타입으로 선언
function LJIF_OpenDeviceETHER(const pOpenParam: PLJIF_OPENPARAM_ETHERNET): Integer; stdcall; external 'LJIF.DLL';
/// Closes the currently open device
/// EXP RC WINAPI LJIF_CloseDevice();
function LJIF_CloseDevice(): Integer; stdcall; external 'LJIF.DLL';
일반적인 정적 로딩 방식의 DLL 함수 사용시에는 보통 이런식으로 사용하시면 됩니다.
쭈쭈 님이 쓰신 글 :
: /// USB Open Device
: EXP RC WINAPI LJIF_OpenDeviceUSB();
: /// Ether Open Device
: EXP RC WINAPI LJIF_OpenDeviceETHER(IN LJIF_OPENPARAM_ETHERNET* pOpenParam);
: /// Closes the currently open device
: EXP RC WINAPI LJIF_CloseDevice();
:
: /// Command/////////////////////////////////////////////////////////////////////////
:
: /// Get Head Type Information
: EXP RC WINAPI LJIF_GetHeadType(OUT BYTE* pHeadTypeA, IN int nCountHeadA, OUT BYTE* pHeadTypeB, IN int nCountHeadB);
: /// Move to Measurement Mode
: EXP RC WINAPI LJIF_SetRunMode(IN BOOL bNotSaveSetting);
: /// Move to Communication Mode
: EXP RC WINAPI LJIF_SetCommMode();
: /// Move to Storage Mode
: EXP RC WINAPI LJIF_SetStorageMode();
: .
: .
: .
: 헤더 파일에 이런식으로 되어 있는데요.......
:
: 제가 위부분을 밑에 처럼수정을 하였습니다. 그리고 다른 형식으로도 변환을 해보았는데 어느부분을 잘못 수정하였는지 compile이 되지 않습니다.
: 그리고 첨부파일을 보시면 다른부분들도 밑에 형식처럼 수정을 하였는데 그 부분 역시 compile이 되지 않습니다.
:
: /// USB Open Device
: type
: RC = LJIF_OpenDeviceUSB();stdcall;
: /// Ether Open Device
: type
: RC = LJIF_OpenDeviceETHER(IN LJIF_OPENPARAM_ETHERNET* pOpenParam);stdcall;
: /// Closes the currently open device
: type
: RC = LJIF_CloseDevice();stdcall;
:
: /// Command/////////////////////////////////////////////////////////////////////////
:
: /// Get Head Type Information
: type
: RC = LJIF_GetHeadType(OUT BYTE* pHeadTypeA, IN int nCountHeadA, OUT BYTE* pHeadTypeB, IN int nCountHeadB);stdcall;
: /// Move to Measurement Mode
: type
: RC = LJIF_SetRunMode(IN BOOL bNotSaveSetting);stdcall;
: /// Move to Communication Mode
: type
: RC = LJIF_SetCommMode();stdcall;
: /// Move to Storage Mode
: type
: RC = LJIF_SetStorageMode();stdcall;
:
: 고수님들 제발 좀 도와주세요!! 제발요~~~~~~~~~~
:
: 부탁드립니다!!
:
: 감사합니다^^
:
: 꾸벅~~~~~~~~~~!!