Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi über DDE eine PDF Datei im Acrobat Reader schließen (https://www.delphipraxis.net/85825-ueber-dde-eine-pdf-datei-im-acrobat-reader-schliessen.html)

-physikus- 18. Feb 2007 09:31

Re: über DDE eine PDF Datei im Acrobat Reader schließen
 
Hallo Marcus,

Ich habe deinen Source-Code so weit modifiziert, das du einen lauffähige Version erhälst.
Vorraussetzung ist, dass der Acrobat Viewer läuft und das Dokument geöffnet ist.

Delphi-Quellcode:
var
  DDEClientConv1 : TDDEClientConv;
...

procedure TForm1.Button1Click(Sender: TObject);
begin

   DDEClientConv1 := TDDEClientConv.Create(nil);
   DDEClientConv1.ConnectMode := DDEManual;
   DDEClientConv1.SetLink('Acroview', 'control');
   try
      StrPCopy(befehl, '[DocClose(Test1.pdf)]');
      if DDEClientConv1.OpenLink then
      begin
         DDEClientConv1.ExecuteMacro(befehl, true);
      end;
   finally
     DDEClientConv1.CloseLink;
     DDEClientConv1.Free;
     DDEClientItem1.Free;
   end;
end;
wie du sehen kannst, habe ich DDEService und DDETopic geändert:

SetLink('acroview','control');

Eine weitere Änderung ist der zweite Parameter in ExecuteMacro. Diesen Parameter habe ich auf false gesetzt.
Das war notwendig, bei der statischen Verwendung der DDEClientConv Komponenten, da ansonsten ExecuteMacro nur ein mal erfolgreich ausgeführt werden konnte.

Gruß und viel Erfolg
-Physikus-


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz