私は自分のソフトウェア ユーザーに、openfile ダイアログから dll を選択する機会を与えました。すべてが正常に機能しており、dll が私によって提供されているか、無効な dll が選択されていることさえわかります。ただし、ユーザーが名前を変更したファイル (例: apple.dll に名前を変更した apple.txt ファイル) を選択すると、問題が発生します。私はこのようなコードを入力しました
dllHandle を試してください := LoadLibrary( pwidechar(openfiledialog1.filename)) ;
catch { dll でない場合はメッセージを表示します (ただし、任意の dll である可能性があります。後で、これが自分の dll またはサード パーティであることを確認します)}
終わり;
Delphi によって表示されるエラー メッセージは、「不適切なライブラリ イメージが選択されました」です。
ただし、ユーザーが無効な dll を選択すると、独自のエラー メッセージが表示され、攻撃されると、catch が機能しません。
誰か助けてくれませんか、私は Delphi 2009 を使用しています