掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
とある機器のOCXからの関数での変数の扱いがわからないのでお助けください。 (ID:45474)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
RATOCの指紋センサーなら扱ったことあります。 OCXで簡単に済まそうと思ったのですが、いろいろあってDLLを直接呼んでます。 //デバイスのオープン SRexOpenDevice: function(): DWORD; stdcall; //デバイスのクローズ SRexCloseDevice: function(): DWORD; stdcall; //サンプル取得開始 SRexStartSampling: function(hWnd: HWND; Count: byte; TimeOut: byte; hPicture0, hPicture1, hPicture2, hPicture3: HWND): DWORD; stdcall; //サンプル取得終了 SRexStopSampling: function(): DWORD; stdcall; //指紋情報取得 SRexGetFingerInfo: function(pSRexInfo: PSREX_INFO): DWORD; stdcall; //指紋情報比較 SRexCompFingerInfo: function(SecureLevel: byte; pSRexInfo1, pSRexInfo2: PSREX_INFO): DWORD; stdcall; こんな感じで宣言して procedure TFingerPrintModule.DataModuleCreate(Sender: TObject); const DLL_NAME = 'SRexFSUx.DLL'; begin try DLLHandle := LoadLibrary(DLL_NAME); except DLLHandle := 0; Exit; end; if DLLHandle = 0 then Exit; //デバイスのオープン @SRexOpenDevice := GetProcAddress(DLLHandle, 'SRexOpenDevice'); //デバイスのクローズ @SRexCloseDevice := GetProcAddress(DLLHandle, 'SRexCloseDevice'); //サンプル取得開始 @SRexStartSampling := GetProcAddress(DLLHandle, 'SRexStartSampling'); //サンプル取得終了 @SRexStopSampling := GetProcAddress(DLLHandle, 'SRexStopSampling'); //指紋情報取得 @SRexGetFingerInfo := GetProcAddress(DLLHandle, 'SRexGetFingerInfo'); //指紋情報比較 @SRexCompFingerInfo := GetProcAddress(DLLHandle, 'SRexCompFingerInfo'); end; このように動的にリンク。 データの構造体はHarryさんのレスのとおりで var FingerInfo: TSREX_INFO; ret: integer; begin ret := SRexGetFingerInfo(@FingerInfo); end; これで、データを取得できます。 もっとも、データをとる前にいろいろ処理が必要ですが 直接Delphiとは関係ないので・・
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.