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-