Einzelnen Beitrag anzeigen

-physikus-

Registriert seit: 12. Feb 2007
1 Beiträge
 
#11

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

  Alt 18. Feb 2007, 10:31
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-
  Mit Zitat antworten Zitat