DLLのハンドル取得するには?

解決


MaGicsVR  2001-08-01 09:48:39  No: 137  IP: [192.*.*.*]

EXEからDLLを呼び出すプログラムを作っています。
EXEからロードしたDLLのハンドルをLoadLibrary関数を使用して、
モジュールハンドルを取得しようとしているのですが、戻り値が必ず[0]となってしまいます。
失敗していると言うのは分かるのですが、戻り値が[0]となってしまう要因をご存知の方、「〜のhelpを見ろ」でも結構ですので、お聞かせください。宜しくお願いします。

編集 削除
にしの  2001-08-01 11:20:59  No: 138  IP: [192.*.*.*]

GetLastErrorで原因がわかります。
FormatMessageでエラーメッセージが取得できます。

こんな感じです。
var
  MsgBuf: array [0..511] of Char;
  hDLL: THandle;
  Err: DWORD;
begin
//
  hDLL := LoadLibrary('test.dll');
  if hDLL = 0 then
  begin
    Err := GetLastError;
    FormatMessage(
      FORMAT_MESSAGE_FROM_SYSTEM,
      nil,
      Err,
      0,
      MsgBuf,
      511,
      nil
    );
    ShowMessage(String(MsgBuf));
    // Free the buffer.
  end;
end;

編集 削除
motti  2001-08-02 14:26:19  No: 139  IP: [192.*.*.*]

にしのさん、ありがとうございます。
ほんと、助かりました。

編集 削除