Morgen, ich hätte da mal wieder ein Problem.
Und zwar geht es diesesmal um die Komponente Wordapplication. Ich habe ein Programm das einen Datensatz aus einer
SQL Datenbank in ein WordDocument eintragen soll das vorher mit entsprechenden Textmarken versehen wurde. Früher hat das auch wunderbar geklappt, aber nachdem ich mir die
Unit zerschossen hatte und sie neu Aufbauen musste geht es nicht mehr so ganz. Der Quellcode ist identisch geblieben allerdings hat sich meine Word Version geändert (ehemals 2000 jetzt 2003). Allerdings habe ich danach die Komponenten getauscht. Hier erstmal der gekürzte Quellcode.
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Word2000, WordXP, Buttons, Grids, DBGrids, ExtCtrls,
Db, Word97, OleServer;
[...]
procedure Tfrmreparatur.bitbtnwordClick(Sender: TObject);
var FileName: OleVariant;
Emptyparam: OleVariant;
begin
opendialog1.Execute;
FileName := opendialog1.FileName;
[...]
wordapexport.connect;
wordapexport.Documents.Open(FileName, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,EmptyParam); worddocexport.ConnectTo(wordapexport.ActiveDocument);
wordapexport.Visible:=true;
[...]
Jetzt zu meinem genauen Probelm. Sobald mein Programm diesen Befehl ausführt
Delphi-Quellcode:
wordapexport.Documents.Open(FileName, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,EmptyParam);
Bekomme ich eine EOleException mit der Meldung Typkonflikt. Das Programm lässt sich ohne weiteres kompilieren und läuft auch einwandfrei wenn ich diesen Befehl entferne, sobald ich ihn allerdings wieder einbinde funktioniert wieder nichts (logich). Emptyparam erhält keinen Wert.
Ich wollte mich noch im allgemeinen bei allen bedanken die mir immer so schnell, kompetent und vorallem geduldig weiter helfen.