名前 題名 ▼ Mr.XRAYさん > 続いて UniqueString を使用する場合です. > > procedure TForm1.Button1Click(Sender: TObject); > var > DLLExecute : function : Integer; stdcall; > ModuleHandle : HModule; > TPExecute : TFarProc; > S : string; > LInt : Integer; > begin > ModuleHandle := LoadLibrary('DUMMY.DLL'); > if ModuleHandle <> 0 then > begin > TPExecute := GetProcAddress(ModuleHandle, 'Execute'); > if (TPExecute <> nil) then > begin > @DLLExecute := TPExecute; > try > LInt := DLLExecute; > except > on E: Exception do > begin > S := E.Message; > UniqueString(S); > end; > end; > end; > Memo1.Lines.Add(S); > // 以下が実行されるのでメモリリークは発生しない > FreeLibrary(ModuleHandle); > Memo1.Lines.Add(S); > end; > end; > > デバッガ例外通知で [継続] をクリックすると下図のように表示されます. > 例外通知は 1 回だけです. > EXE の直接起動では例外通知は表示されません. > 動作確認は Windows 7 U64(SP1) + DelphiXE5(UP2) Pro VCL-32 です. GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link