![]() |
EOleSysError "Typkonflikt" bei Wordansteuerung
Hallo,
ich muss gerade ein Projekt von Delphi 7 auf XE2 migrieren. Darin wird (u.a.) ein Word-Dokument erzeugt, das Ganze mit Word 2010. In Delphi 7 lief alles problemlos; in XE2 macht der folgende Codeabschnitt Probleme:
Code:
Der Code läuft problemlos durch bis zur markierten Zeile.
(...)
FOffice := CreateOleObject('word.basic'); FOffice.FileNew('XXX.dot'); FOffice.StartOfDocument; (...) procedure TWFOffice.MSOfficeBearbeitenErsetzen(SuchString: string; ErsetzString: string; Richtung: integer; Einen: boolean); begin if Einen then FOffice.EditReplace(Find := SuchString, Replace := ErsetzString, Direction := Richtung, PatternMatch := 0, Format := 0, ReplaceOne := 1) // <-- Fehler else FOffice.EditReplace(Find := SuchString, Replace := ErsetzString, Direction := Richtung, PatternMatch := 0, Format := 0, ReplaceAll := 1) end; Wenn die ausgeführt wird, wirft er eine Exception: Im Projekt XXX ist eine Exception der Klasse EOleSysError mit der Meldung 'Typkonflikt' aufgetreten. Dieses Problem scheint es immer zu geben, auch mit anderen Aufrufen, wenn ein String an Word übergeben werden soll. Leider hat mir die Erkenntnis aber noch nicht bei der Behebung geholfen... Danke schon mal für eure Ideen! |
AW: EOleSysError "Typkonflikt" bei Wordansteuerung
Word erwartet den Datentyp BSTR der in Delphi einem WideString entspricht.
Versuch mal:
Delphi-Quellcode:
procedure TWFOffice.MSOfficeBearbeitenErsetzen(SuchString: string; ErsetzString: string;
Richtung: integer; Einen: boolean); var s, r : WideString; begin s := SuchString; r := ErsetzString; if Einen then FOffice.EditReplace(Find := s, Replace := r, Direction := Richtung, PatternMatch := 0, Format := 0, ReplaceOne := 1) // <-- |
AW: EOleSysError "Typkonflikt" bei Wordansteuerung
Danke für die Idee, aber leider war's das nicht.
Auch mit WideStrings noch die gleiche Fehlermeldung. |
AW: EOleSysError "Typkonflikt" bei Wordansteuerung
Ich sehe gerade du arbeitest noch mit dem Word.Basic-Dispatchinterface.
Ab Word 2000 ist diese Schnittstelle eigentlich veraltet und wird nur noch Zwecks Rückwärtskompatibilität mitgeführt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 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