![]() |
TWordApplication zickt nach Office-Update
Hallo...
Wir haben grad die Firma komplett auf Vista und Office2k7 umgestellt. Mein Alter Quellcode war für Office2k geschrieben. RAD Studio hat ja hochoffiziell nur Office2k3 Komponenten dabei. Bislang zeigten die sich aber schon mehrfach kompatibel zu 2k7. Hab das so auch aus der DP herausgelesen. Diese Zeile zickt jetzt:
Delphi-Quellcode:
Offenbar akzeptiert er emptyParam nicht mehr. Ich hab dann Folgendes Versucht:
WordApplication1.Documents.OpenOld(aVorlage, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam);
Delphi-Quellcode:
Das akzepiert zwar der Compiler aber zur Laufzeit kommt eine EOLEException "Typenkonflikt". Habs auch mit test1, test2, test3, etc versucht...
var
test: OleVariant; [..] WordApplication1.Documents.OpenOld(aVorlage, test, test, test, test, test, test, test, test, test); Meine Frage liegt nun Nahe: Muss ich zu meinem Chef und ihm erzählen, dass unser neues RAD Studio nicht mit unseren neuen Office klar kommt oder gibts nen Ausweg? Hat sich veilleicht nur der Aufruf oder deren Parametrierung geändert oder check ich's nur nicht? Wär über nen kurzen Stubs in die richtige Richtung sehr dankbar... Gruß, Toni |
Re: TWordApplication zickt nach Office-Update
Such mal in der MSDN-Doku. Evlt. hat ja MS hier die Methodensignatur geändert obwohl das nach COM-Regeln nicht erlaubt ist. Hab sowas ähnliches (geänderter Aufzählungstyp) bei Excel schon mal gehabt.
|
Re: TWordApplication zickt nach Office-Update
Hallo,
da mir sowohl die passende Wordversion, das passende Betriebssystem und die passende Delphiversion fehlt, kann ich nur raten. (Okay: mit müsste ich es auch ;-)) Schau mal, ob es statt OpenOld auch ein Open gibt, und welche Parameter das haben möchte. Versuche mal die Typlib für die neue Wordversion zu importieren und schau Dir dort dann die Definition von Open oder OpenOld... an. Kannst Du irgendwie (über Codevervollständigung...) herausbekommen, welcher Parameter von welchem Typ ist. Ist die Zahl der Parameter gleich geblieben? Hatte vor Jahren mit anderen Versionen mal so ein Problem, war 'ne irre Sucherei, ging dann aber irgendwann. Eventuell musst Du Dich aber von der Benutzung der in Delphi enthaltenen Komponenten verabschieden. Schaumal bitte, ob Du über ![]() |
Lösung!
Ja, Open gibts auch. Aber den Unterschied hab ich schon bei Office2k nicht ganz verstanden. Ist beim Versuch auch der selbe Fehler aufgetreten.
Hab mit nem gewieften VBA-Progger zu Mittag gegessen. Dabei ist folgende Lösung herausgeommen.
Delphi-Quellcode:
Gruß,
var
OLEConfirmConversions: OleVariant; OLEReadOnly: OleVariant; OLEAddToRecentFiles: OleVariant; OLEPasswordDocument: OleVariant; OLEPasswordTemplate: OleVariant; OLERevert: OleVariant; OLEWritePasswordDocument: OleVariant; OLEWritePasswordTemplate: OleVariant; OLEFormat: OleVariant; begin OLEConfirmConversions:=False; OLEReadOnly:=False; OLEAddToRecentFiles:=False; OLEPasswordDocument:=''; OLEPasswordTemplate:=''; OLERevert:=False; OLEWritePasswordDocument:=''; OLEWritePasswordTemplate:=''; OLEFormat:=0; // aVorlage ist die zu öffnende Datei mit Pfadangabe WordApplication1.Documents.OpenOld(aVorlage, OLEConfirmConversions, OLEReadOnly, OLEAddToRecentFiles, OLEPasswordDocument, OLEPasswordTemplate, OLERevert, OLEWritePasswordDocument, OLEWritePasswordTemplate, OLEFormat); Toni |
Re: TWordApplication zickt nach Office-Update
Nachtrag:
Wenn man - emptyParam - in eine Variable des Typs OLEVariant "einwickelt" dann schmeckt sie dem Compiler auch wieder... :wall: Toni |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 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 by Thomas Breitkreuz