DLLを使って処理をするプログラムを書いていますが
このDLLが無い場合でも一応は起動できるようにしたいと思っています。
現在は以下のような宣言をしているのですが、
DLLが無いと起動時に警告が出て終わってしまいます。
何かよい回避方法はないでしょうか?
function TEST_CALC(value: DWORD): DWORD; stdcall; external 'test.dll';
環境はXPsp2 + Delphi6Personalです。
ゼロ・バイトのDLLファイルを作るだけではダメかなぁ?
例外をフックする方法は他の方に・・。
性的リンクではなく動的リンクで...
LoadLibrary, FreeLibrary, GetProcAddress で検索してみてください。
難しくはないですが、多少面倒です。
動的リンク
LoadLibrary
GetProcAddress
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;
※半角文字だけだと受け付けてくれないのね。宣伝(アラシ)対策?
こういった用途は動的リンクですね。
性的リンクはちゃんと相手に許可をとって行わないと訴えられるので注意してください。
みなさん、ありがとうございます。
無事解決しました。