Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Word + OLE + activeDocument schließen (https://www.delphipraxis.net/106908-word-ole-activedocument-schliessen.html)

bwolf 18. Jan 2008 15:04


Word + OLE + activeDocument schließen
 
Hi all,

sorry das ich mit so nem alten Hut komme, aber ich blicks einfach nich :wall:

Also ich öffne mit mit einem WordApplication-Object ein Worddokument, drucke es aus und will dieses anschließend wieder schließen - und zwar so:

Delphi-Quellcode:
dm1.WordApplication1.ActiveDocument.Close(wdDoNotSaveChanges,UnAssigned,UnAssigned);
wdDoNotSaveChanges habe ich Vorher als Konstante mit dem Wert 0 definiert.

Beim kompilieren kriege ich nun die Fehlermeldung:
[Error] u_antragsberechnung.pas(362): Types of actual and formal var parameters must be identical


Was hat das zu bedeuten ?
Ich habe D7 Enterprise und Word2007

Danke schomal für eure Hilfe,
grüße ben

hoika 18. Jan 2008 15:22

Re: Word + OLE + activeDocument schließen
 
Hallo,

das bedeutet, du übergibst die Parameter nicht korrekt.

.Close(wdDoNotSaveChanges) sollte doch reichen ?

Klick mal mit Ctrl+Masu auf das Close, um die Parameterzahl zu ermitteln.


Heiko

shmia 18. Jan 2008 15:26

Re: Word + OLE + activeDocument schließen
 
Setz den Cursor direkt nach der öffnenden Klammer von dm1.WordApplication1.ActiveDocument.Close(
und drücke Strg+Shift+Space.
Dann öffnet sich ein Fenster mit den erlaubten Parametern.
Es können auch mehrere Parameterlisten sichtbar werden (überladene Methode).
Entweder du kommst dann selbst drauf, was nicht stimmt oder du kannst
die Parameterliste(n) abschreiben und hier posten.

bwolf 18. Jan 2008 15:30

Re: Word + OLE + activeDocument schließen
 
Moin,

danke für eure schnelle Antworten.
Was die Parameter angeht, bin ich eh regelmäßig verwirrt, da ich öfters mal andre habe als die andren (nur bei der WordApplication :zwinker: )

Also als Paremter für die Close habe ich :

var SaveChanges: oleVariant
var OriginalFormat: oleVariant
var RouteDocument: oleVariant

Überladen is die Methode auch nicht, das ist die einzige Parameterliste die angezeigt kriege..

Wenn ich versuche das Dok. mit .Close(wdDoNotSaveChanges) zu schließen, bekomme ich den den selber Fehler :
[Error] u_antragsberechnung.pas(363): Types of actual and formal var parameters must be identical

API 18. Jan 2008 16:21

Re: Word + OLE + activeDocument schließen
 
Hallo

Probier's mal so:

Delphi-Quellcode:
var
  SaveChanges: OleVariant;
begin
//..
SaveChanges := wdDoNotSaveChanges;
WordApplication1.ActiveDocument.Close(SaveChanges, EmptyParam, EmptyParam);
//..
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr.

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