AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TWordApplication zickt nach Office-Update

Ein Thema von Tonic1024 · begonnen am 22. Apr 2009 · letzter Beitrag vom 22. Apr 2009
Antwort Antwort
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#1

TWordApplication zickt nach Office-Update

  Alt 22. Apr 2009, 10:39
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:
  WordApplication1.Documents.OpenOld(aVorlage, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam, emptyParam); Offenbar akzeptiert er emptyParam nicht mehr. Ich hab dann Folgendes Versucht:
Delphi-Quellcode:
var
  test: OleVariant;
[..]
  WordApplication1.Documents.OpenOld(aVorlage, test, test, test, test, test, test, test, test, test);
Das akzepiert zwar der Compiler aber zur Laufzeit kommt eine EOLEException "Typenkonflikt". Habs auch mit test1, test2, test3, etc versucht...

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
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: TWordApplication zickt nach Office-Update

  Alt 22. Apr 2009, 10:49
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

Re: TWordApplication zickt nach Office-Update

  Alt 22. Apr 2009, 10:54
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 www.google.de TWordApplication noch ein paar Denkanstöße bekommen kannst. Bitte auch dem Alternativvorschlag von Google folgen, da kommt sicherlich auch noch viel hilfreiches.
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#4

Lösung!

  Alt 22. Apr 2009, 12:39
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:
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);
Gruß,

Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#5

Re: TWordApplication zickt nach Office-Update

  Alt 22. Apr 2009, 13:13
Nachtrag:

Wenn man - emptyParam - in eine Variable des Typs OLEVariant "einwickelt" dann schmeckt sie dem Compiler auch wieder...

Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz