掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
C++用のDLLをDelphiから利用する方法 (ID:22520)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Cを知らないので苦労しています。 例えば、Cのヘッダーファイルと関数が下記のように定義されている場合、 /* アカウント情報 */ typedef struct _MemberInfo { char id[32]; char pass[32]; } MemberInfo; long Authentication(MemberInfo *Info,long InMethod,long *OutStatus) 引数: Info : MemberInfo型へのポインタを渡します。 Method : ログイン時: 0 ログアウト時: 1 OutStatus : ステータス情報へのポインタを渡します。 上記のCで作られたDLLをDelphiから呼ぶルーチンですが、 どうもうまくいきません。 どこがおかしいのでしょうか。 {アカウント情報} type _MemberInfo = record id: Array[0..32-1] of Char; pass: Array[0..32-1] of Char; end {_MemberInfo}; MemberInfo = _MemberInfo; //Delphiの定義 function Authentication(PMemver:Pointer; InMethod:longint; PStatus:pointer): longint; stdcall; external 'GETDATA.DLL' name 'Authentication'; //テスト function checkAuthenication; var DLLHandle: THandle; i: integer; aMember: Memberinfo; Status: longint; begin DLLHandle := LoadLibrary('GETDATA.DLL'); if DLLHandle > 32 then begin with aMember do begin id :='0000'; pass :='1111'; end; i := Authentication(@aMember,0,@Status); if i=0 then showMessage('認証成功'); else showMessage('認証失敗 ErrorCode='+tostr(Status)); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.