Q&A

  • 실행은 되지만 정작 실행은 안되는 구문..
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했더니 이것두 실행안되네요..
왜 그럴까요?
1  COMMENTS
  • Profile
    타락천사 2007.04.27 15:27
    안녕하세여. 타락임다..

    새벽에 델파이 실행시키기 구찮아서 피하고 있었는데,
    결국 실행시키게 만들었군여..

    델파이 메인 메뉴의

    Tools/Debuggers Options 의 General 탭 열구..

    하단의 Integrated debugging 체크를 해제하시면 됩니다.