안녕하세요 ~
지금 델파이 초급자로 공부중에 있는 사람입니다 ^^
제가 umain이란 유닛에 dll파일을 호출해서 dll파일내에 있는 함수를 사용하는 프로그램을 작성하고 있는데 쉽지만은 않네요...
우선은 dll파일 호출 구문입니다.
<!--CodeS-->
procedure x_Init(Mode : integer);far;stdcall;external 'DvrCtrl.dll' name 'x_Init';
<!--CodeE-->
여기까지는 문제가 없는데 버튼클릭 이벤트 안에서 함수를 사용시 자꾸 에러가 납니다..
<!--CodeS-->
Procedure Tform5.btID(sender : TObject );
var
nBoardType : integer;
m_iBdCnt : integer
nReturn : integer;
begin
nBoardType := 0;
m_iBdCnt :=0;
x_Init(nBoardType, m_iBdCnt);
nReturn := x_Init(nBoardType, m_iBdCnt);
begin
case nReturn of
1 : MessageDlg('encoder, decoder setting failed',mtError, [mbOk], 0);
2 : MessageDlg('Fail to initialize device driver',mtError, [mbOk], 0);
3 : MessageDlg('General error occured internally',mtError, [mbOk], 0);
4 : MessageDlg('Company code verification failed',mtError, [mbOk], 0);
5 : MessageDlg('Different H/W version of board',mtError, [mbOk], 0);
0 :
begin
showMessage('Initialization되었습니다');
BtIn.Enabled := false;
EdCode.Enabled := false;
ComboID.Enabled := false;
ComCount.Enabled := false;
end;
end;
end;
<!--CodeE-->
에러 내용은
[Error] uMain.pas(286): E2010 Incompatible types: 'Integer' and 'procedure, untyped pointer or untyped parameter'
제 생각에 인자 갯수하고 리턴 값 선언하는 함수호출문에서 잘못한것 같긴 한데 어떻게 하는건지는 모르겠네요 ㅠㅠ 답변 좀 주신다면 감사 ㅠㅠ