必要なDLLがなくても起動させる方法は?

解決


よしの  2006-06-05 08:25:26  No: 22022

DLLを使って処理をするプログラムを書いていますが
このDLLが無い場合でも一応は起動できるようにしたいと思っています。

現在は以下のような宣言をしているのですが、
DLLが無いと起動時に警告が出て終わってしまいます。
何かよい回避方法はないでしょうか?

function TEST_CALC(value: DWORD): DWORD; stdcall; external 'test.dll';

環境はXPsp2 + Delphi6Personalです。


ひょっとして  2006-06-05 08:30:51  No: 22023

ゼロ・バイトのDLLファイルを作るだけではダメかなぁ?
例外をフックする方法は他の方に・・。


風来坊  2006-06-05 09:07:46  No: 22024

性的リンクではなく動的リンクで...
LoadLibrary, FreeLibrary, GetProcAddress で検索してみてください。
難しくはないですが、多少面倒です。


回避は〜  2006-06-05 09:09:08  No: 22025

動的リンク
LoadLibrary
GetProcAddress


半角文字だけじゃダメ?  2006-06-05 09:24:34  No: 22026

var
  TEST_CALC: function (value: DWORD): DWORD; stdcall;
  value: WORD;
  h: HINST;
begin
  h := LoadLibrary('test.dll');
  if h <> 0 then begin
    @TEST_CALC := GetProcAddress(h,'TEST_CALC');
    value := TEST_CALC(value);
    FreeLibrary(h);
  end;
end;

※半角文字だけだと受け付けてくれないのね。宣伝(アラシ)対策?


リンク  2006-06-05 10:44:34  No: 22027

こういった用途は動的リンクですね。
性的リンクはちゃんと相手に許可をとって行わないと訴えられるので注意してください。


よしの  2006-06-06 11:11:17  No: 22028

みなさん、ありがとうございます。
無事解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加