掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
とある機器のOCXからの関数での変数の扱いがわからないのでお助けください。 (ID:45477)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Quest 様 情報ありがとうございます。 最初は自分もDLLで作ろうとして、↑↑↑↑こんなカッコいい書き方じゃないですが ※サンプルのVC6用をもじって作ったのですが、どうも・・・WM_の受け取り部分が理解できずに 断念していました。 サンプルVC6の*.hをもじったPAS unit SRexFSUx; interface uses windows, SysUtils, Messages; (* 通知メッセージ *) const WM_SREXFSUX = WM_APP + 2001; SREX_SUCCESS = $00000000; SREX_FAILED = $00000001; SREX_START = $00000002; SREX_END = $00000003; SREX_FINGER_DETECT = $00000004; SREX_NO_FINGER = $00000005; SREX_TIMEOUT = $00000006; SREX_TOO_RIGHT = $00000007; SREX_TOO_LEFT = $00000008; SREX_TOO_DOWN = $00000009; SREX_TOO_UP = $00000010; SREX_BAD_QUALITY = $00000011; SREX_DIFFERENT = $00000012; SREX_SLIDE = $00000013; SREX_NOISE = $00000014; SREX_SHORT = $00000015; SREX_BACK = $00000016; SREX_LARGE = $00000017; SREX_FAST = $00000018; SREX_BAD_SWIPE = $00000019; SREX_PENDING = $00000020; SREX_STOP = $00000021; IDD_SDKSAMP = 101; IDB_INIT = 1000; IDB_ENROLL = 1001; IDB_VERIFY = 1002; IDB_EXIT = 1003; IDB_STOP = 1004; IDS_MSG = 1005; IDP_FINGER1 = 1006; IDP_FINGER2 = 1007; IDP_FINGER3 = 1008; IDP_FINGER4 = 1009; IDCB_FSU2 = 1010; type long = Longint; // SREX_INFO 指紋情報構造体 PSREX_INFO = ^TSREX_INFO; TSREX_INFO = packed record Minutiae: array[0..1023] of BYTE; // データ格納バッファ 1024Byte lengthMinutiae: long; // データサイズ nMinutiae: long; // データの特徴数 Quality: long; // 特徴点の品質 DeviceName: array[0..7] of BYTE; // デバイス名 DllMajor: WORD; // DLL MaVersion DllMinor: WORD; // DLL MiVersion end; //var // PSREX_INFO: TSREX_INFO; // } SREX_INFO, *PSREX_INFO; // function SRexOpenDevice: DWORD; stdcall; external 'SRexFSUx.dll'; function SRexCloseDevice: DWORD; stdcall; external 'SRexFSUx.dll'; function SRexStopSampling: DWORD; stdcall; external 'SRexFSUx.dll'; function SRexRedraw: DWORD; stdcall; external 'SRexFSUx.dll'; function SRexStartSampling(hWnd: HWND; Count: Byte; Timeout: Byte; hPicture0, hPicture1, hPicture2, hPicture3:HWND):DWORD; stdcall; external 'SRexFSUx.dll'; function SRexGetFingerInfo(var pSRexInfo: TSREX_INFO):DWORD; stdcall; external 'SRexFSUx.dll'; function SRexCompFingerInfo(SecureLvl: UCHAR; pSRexInfo1, pSRexInfo2: TSREX_INFO):DWORD; stdcall; external 'SRexFSUx.dll'; function SRexInitFSU2Device(OpenNo: UCHAR):DWORD; stdcall; external 'SRexFSUx.dll' ; //} implementation で、頂いたソースを元に色々してみたのですが全然だめで・・・汗 本当に技量が無いので WM_ に関して procedure WM_SREX_EventMsg(hWindow:HWND; uMsg:Uint; wParam, lParam: Integer);message WM_SREXFSUX; こんな感じのを、書くけどモチロン Errで、どのようにしてメッセージを受け取られてるかお教え願えればと・・・ ※サンプリング後、数秒あけてGetFingerInfoではちゃんと受け取ってるので、なんとなく動いてるようですが WM_からのイベントだともっとスマートなので、ご存じであれば宜しくお願いいたします。 あと、画像っていうかVBとかにあるPictureBoxで表示してる「指紋画像」とかも成功されていますか?僕には皆無です汗; function SRexStartSampling(hWnd: HWND; Count: Byte; Timeout: Byte; hPicture0, hPicture1, hPicture2, hPicture3:HWND):DWORD; stdcall; external 'SRexFSUx.dll';
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.