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:
(...)
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;
Der Code läuft problemlos durch bis zur markierten Zeile.
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!