Delphi.cz

Český portál Delphi

Adobe Reader update 11.0.7 způsobuje crash ActiveX v AcroPDF.dll

Gratuluji Adobe, update 11.0.7 Vás zapsalo mezi dementy. Není přece možné, aby minoritní update provedl tak zásadní změnu, tj. zavést problematickou 64bit verzi bez možnosti volby a tím odříznout všechny starší aplikace, které používají vaše ActiveX - detaily PDF applications built with VB6 don't work with Acrobat 11.0.07 (doporučuji odkaz přečíst, je to legrace, hlavně pro ty co udržují starší programy ve VB6).

V Delphi je možnost řešení zmíněna na jejich foru (odkaz zveřejnil na netu Leoš Krejčí).

Návod:

1) open AcroPDFLib_TLB.pas

2) add this

   TAcroPDF = class(TOleControl)
   …
   protected
     procedure CreateControl;…

     //ADDED
     function QueryInterface(const IID: TGUID; out Obj): HResult; override;
   //ADDED

3) Added this in the implementation section:

function TAcroPDF.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
  if IID = IServiceProvider then
    Result := E_NOINTERFACE
  else
    inherited;
end;

4) re-build the package you are using and re-install it in the IDE

5) you should be good to go

Datum: 2014-06-24 22:20:00 Tagy: delphi, PDF

Praxe