WordApplication Komponente für Office 2007 installieren
-
hallo,
wie kann ich die Komponente für den C++ Builder 2010 installieren ?
gruß,
Bernd
-
"Komponente|Komponente importieren...|Typbibliothek" und dann die Office 2007-Bibliotheken auswählen.
-
audacia schrieb:
und dann die Office 2007-Bibliotheken auswählen.
danke, aber wo finde ich die? Dateiname ?
-
ok habe "Microsoft Word 12.0 Object Library" ausgewählt.
Nun kommen 4 Optionen:Unit anlegen
In vorhandenes Package installieren
In neues Package installieren
Unit dem Projekt hinzufügenhabe das letzte gewählt, allerdings finde ich in der Toolpalette keine WordApplication Komponente
-
Bernd22 schrieb:
allerdings finde ich in der Toolpalette keine WordApplication Komponente
Instantiiere die Komponente einfach im Code.
-
audacia schrieb:
Instantiiere die Komponente einfach im Code.
hab ich bereits versucht:
WordApplication WordApplication1 = new WordApplication();
bekomme folgende Fehlernachricht:
[BCC32 Fehler] main.cpp(350): E2352 Instanz der abstrakten Klasse '_Application' kann nicht erzeugt werden Vollständiger Parser-Kontext main.cpp(349): Analyse: void _fastcall TForm3::Button6Click(TObject *)
-
Hallo
Die Klasse sollte zumindestens TWordApplication heißen.
bis bald
akari
-
hab ich auch schon probiert :(:
[BCC32 Fehler] main.cpp(350): E2285 Keine Übereinstimmung für 'TWordApplication::TWordApplication()' gefunden Vollständiger Parser-Kontext main.cpp(349): Analyse: void _fastcall TForm3::Button6Click(TObject *)
kann mir jemand ein konkretes Beispiel posten wie ich das mache?
-
Hallo
Als VCL-Komponente ist der Konstruktor der Klasse eben nicht parameterlos. Sondern der Konstruktor will einen Zeiger zu einer anderen Komponente haben, die als Owner fungieren soll (Das sagt übrigens auch die Fehlermeldung aus). Der Owner ist für das Löschen der neuen Instanz zuständig. Du kannst entweder NULL übergeben und bist dann selber für das Löschen zuständig. Oder du übergibst this (in deiner Button-Routine ist this das Form), und spätestens beim Löschen des Form wird auch deine WordApp-Instanz gelöscht. Du kannst dann aber immer noch manuell löschen.
bis bald
akari
-
danke für die Info, also so meinst du ?:
TWordApplication WordApplication1 = new TWordApplication(this);
jetzt meckert er allerdings auch wieder:
[BCC32 Fehler] main.cpp(350): E2459 Klassen im VCL-Stil müssen mit dem Operator new erstellt werden Vollständiger Parser-Kontext main.cpp(349): Analyse: void _fastcall TForm3::Button6Click(TObject *)
-
Hallo
WordApplication1 muß ein Pointer sein :
TWordApplication* WordApplication1 = new TWordApplication(this);
Ich empfehle dir dringend erstmal die Grundlagen von C++ und der VCL zu lernen, bevor du dich mit so einem komplexen Problem wie OLE-Fernsteuerung von Office-Programmen beschäftigst.
bis bald
akari
-
akari schrieb:
Ich empfehle dir dringend erstmal die Grundlagen von C++ und der VCL zu lernen, bevor du dich mit so einem komplexen Problem wie OLE-Fernsteuerung von Office-Programmen beschäftigst.
+1.
Kauf dir ein Buch (etwa Richard Kaisers "C++ mit dem C++Builder 2007"), arbeite es durch. Mit deinem gegenwärtigen Wissensstand kannst du nicht produktiv arbeiten.