AcroPDFコンポーネントについて

解決


しんちゃん  2020-11-18 17:08:11  No: 149373

お世話になります。
下記環境で開発作業をしています。

【環境】
Windows 10 Pro 64bit
Delphi 10.1 Berlin Enterprise

AcroPDFコンポーネントを利用したプログラムを作り
運用環境にコピーしましたところ
問題なく動作するパソコンもあるのですが
下記のエラーが発生するパソコンもあります。
原因がわかる方いらっしゃいましたら教えて頂けませんでしょうか。

*************************************
EAccess Violation がモジュールAcroPDF.dllの00009996で発生しました。
モジュールAcroPDF.dllのアドレス73979996でアドレス0000014に対する宇於美利違反がおきました。
*************************************

よろしくお願いいたします。


igy  2020-11-18 18:21:43  No: 149375

終了時に発生するようでしたら、

[ 720_PDF 文書のフォームへの表示と印刷と関連リンク ] - Mr.XRAY
http://mrxray.on.coocan.jp/Delphi/plSamples/720_Acrobat.htm
に、
> EXE 終了時に例外が発生したりメモリリークが発生する時は,
> アプリの終了時に以下のような処理を実行してください.
とのことです。


しんちゃん  2020-11-18 19:02:56  No: 149376

igyさん、お返事ありがとうございます。
説明不足で申し訳ありません。
起動時にエラーが発生します。


igy  2020-11-19 00:17:25  No: 149378

(関係ないかもしれませんが・・)
エラーが発生するパソコンには、Acrobat Reader はインストールされていますか?


しんちゃん  2020-11-19 06:40:07  No: 149379

igyさんお返事ありがとうございます。
Acrobat Readerはインストールされています。


しんちゃん  2020-11-20 08:53:16  No: 149383

おはようございます。
あれから、色々なことを試していたのですが状況に変化はありません。
igyさんが教えてくれましたMr.XRAY さんのサイトには
*************************************************************
    2018年08月18日
    EXE 終了時に発生する例外とメモリリーク対策のコードを添付の AcroPDFLib_TLB.pas に追加
*************************************************************
とありますが、ダウンロードしてAcroPDFLib_TLB.pasの中をみましたが
どの部品を追加されたのかわかりませんでした。
igyさんは追加部品はわかりますか。
何でもお聞きして申し訳ありませんが
教えて頂けませんでしょうか。


igy  2020-11-20 09:11:24  No: 149384

> どの部品を追加されたのかわかりませんでした。

[ 720_PDF 文書のフォームへの表示と印刷と関連リンク ] - Mr.XRAY
http://mrxray.on.coocan.jp/Delphi/plSamples/720_Acrobat.htm
リスト1 の
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Assigned(AcroPDF1) then begin
    //参照カウンタがインクリメントされていないようなので
    //解放破棄操作される前に _AddRef しておく
    AcroPDF1.ControlInterface._AddRef;
  end;
end;
のコードを、FormのOnCloseQueryイベントに追加となります。

ただ、
> 起動時にエラーが発生します。
ということで、OnCloseQueryイベントの前にエラーが発生すると思うので、
状況は、変わらないかと・・


しんちゃん  2020-11-20 09:36:14  No: 149385

igyさん ご回答ありがとうございます。
おっしゃる通り変化ありませんでした。
何が原因なんだろ~


Mr.XRAY  2020-11-20 10:27:45  No: 149386

> 状況は、変わらないかと・・

ですね.
AcroPDF コンポーネントというのをどこから入手して,
あるいはどのように作成したコンポーネントかは知りませんが.

他のアプリの操作関係のライブラリでは,多くの場合,
該当する関係 DLL を使用したり,そのアプリのファイル等を操作します.
ということは,バージョンによっても動作が異なる可能性があります.
Adobe Reader の場合は Adobe Reader のバージョンあるいは,
操作に使用するライブラリのバージョンによって,ということになりますね.

PC の環境 (OS のリビジョンとか) の影響があることもありますが・・・


しんちゃん  2020-11-28 09:52:33  No: 149415

Mr.XRAYさん、igyさん、お世話になります。
昨日、運用マシンのAcrobat Readerをアップデートしたところ
AcroPDF コンポーネントを利用したアプリが正常起動しました。
私の知識ではAcrobat Readerのバージョンで左右されるとは
気づきませんでした。
とても助かりました。
ありがとうございます。
今後ともよろしくお願いいたします。


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








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