数日前の過去ログの「ヘルプを複数呼び出せないようにするには?」で
kazuさん紹介のページを参考にHTMLHELPを呼び出したのですが
[FormCreate]
po := nil;
DLLWnd := LoadLibrary('hhctrl.ocx');
if DLLWnd > 0 then
begin
po := GetProcAddress(DLLWnd, 'HtmlHelpA');
if po <> nil then
@HtmlHelp := po;
end;
[FormDestroy]
if po <> nil then
FreeLibrary(DLLWnd);
FormDestroyでヘルプを閉じる前に処理されてしまうせいか、アクセス違反でエラーを起こしてしまいます(発生率は不定)
(Win2000 Delphi6です)
何か対処法は無いのでしょうか?
FreeLibrary(DLLWnd);を実行しなければエラーは起こりませんが、
やはり開放しないと良くないのでしょか?
if po <> nil then
HtmlHelp(Handle,0,HH_CLOSE_ALL,0);
で閉じてからでもエラーになりますか?
こちらでは閉じなくてもエラーになりません。
# Delphi5, Windows2000, IE6
にしのさま
いつもお世話になります
投稿前にHH_CLOSE_ALLは試しましたがダメでしたが
(2番目の値はファイル名で使用)
今回、nilに変更したらOKでした
なぜかは解りませんが、解決です
有難うございました。
ツイート | ![]() |