Q&A

  • Visual C++로 작성된 DLL을 델파이에서 Call (BYTE).....
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가 나옴

무엇이 잘못되었을까요 .. 고수님덜 부탁해요
2  COMMENTS
  • Profile
    이정욱 2007.09.27 07:03
    FUNCTION DevOpen(Board:BYTE):int64;cdecl;external 'aaaa.dll';

    이걸

    FUNCTION DevOpen(Board:BYTE):longint;cdecl;external 'aaaa.dll';

    또는

    FUNCTION DevOpen(Board:BYTE):integer;cdecl;external 'aaaa.dll';


    로 해보세요.


  • Profile
    사비성 2007.09.28 09:29
    ... 감사합니다...