Visual C++로 작성된 DLL을 델파이에서 Call할려고 합니다.
우아 추석전일 삼일간 뺑뱅이 치고 했느디.....
고수님 임들 부탁해여 이거 안되면 그전에 만든 모듈 전부 VB로
전환 해야해요 ㅠ.ㅠ.....
c 원형 Dll
FEXPORT LRESULT FTYPE DevOpen(BYTE Board);
delphi
정의
FUNCTION DevOpen(Board:BYTE):int64;cdecl;external 'aaaa.dll';
call
err = DevOpen(1);
procedure TGold_Pig_F.Button13Click(Sender: TObject);
begin
errcode := DevOpen(1); //0 ~15 까지
showmessage('return =' + inttostr(errcode));
end;
// 값이 0 인경우는 2가 정상적으로 나오는데
이후 1은 1427... 2는 2834... 3은4252.. 이런식의 값이 이상하게 나오내요
vb
정의
Declare Function DevOpen Lib "aaaa.dll" (ByVal Board As Byte) As Long
call
err = DevOpen(1) //0 ~15 까지
msgbox(err)
// Err 값이 2가 향샹 나와야 정상 이며 Vb에서는 향샹 2가 나옴
무엇이 잘못되었을까요 .. 고수님덜 부탁해요
이걸
FUNCTION DevOpen(Board:BYTE):longint;cdecl;external 'aaaa.dll';
또는
FUNCTION DevOpen(Board:BYTE):integer;cdecl;external 'aaaa.dll';
로 해보세요.