type
TFunc = function(nBoardType, m_iBdCnt : integer):longword;stdcall;
{$R *.dfm}
var
nBoardType : integer;
m_iBdCnt : integer;
procedure TForm5.BtInClick(Sender: TObject);
var
x_Init : TFunc;
h : thandle;
nReturn : integer;
begin
h := loadlibrary('DvrCtrl.dll');
x_Init := getprocAddress(h, 'x_Init');
nBoardType := 0;
m_iBdCnt := 0;
x_Init(nBoardType, m_iBdCnt);
m_iBdCnt := ComCount.ItemIndex+1;
nReturn := x_Init(nBoardType, m_iBdCnt);
showmessage(inttostr(nReturn));
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;
위 구문을 실행하면 오류는 없는데 case문이 실행이 안되요..
그래서 nReturn값이 뭔지 알아낼려구 showmessage했더니 이것두 실행안되네요..
왜 그럴까요?
새벽에 델파이 실행시키기 구찮아서 피하고 있었는데,
결국 실행시키게 만들었군여..
델파이 메인 메뉴의
Tools/Debuggers Options 의 General 탭 열구..
하단의 Integrated debugging 체크를 해제하시면 됩니다.