![]() |
Excel 2007 mit Delphi 7 - Fehler beim CreateOleObject
Hallo,
ich sollte beliebige Daten von Delphi 7 aus in eine Excel-Datei schreiben. Grundsätzlich sind mir die Abläufe verständlich, hab das Ganze schon unter Delphi 5 erfolgreich implementiert. Mein Problem ist nun, dass die selben Routinen unter Delphi 7 nicht mehr funktionieren. Genauer gesagt ist es eigentlich nur Eine und zwar scheitere ich direkt schon beim Erstellen des Excel-Objects: XlApp:=CreateOleObject('Excel.Application'); Wenn ich diese Funktion aufrufe erhalte ich nach ca. 2 Sekunden eine Fehlermeldung vom Excel "Microsoft Office Excel hat ein Problem festgestellt und muss beendet werden. Falls Sie Ihre Arbeit noch nicht gespeichert hatte, können Daten möglicherweise verloren gegangen sein. [X] Microsoft Office Excel neu starten ... [Debuggen] [Fehlerberichterstattung senden] [Nicht berichten]" Klicke ich dann auf Nicht berichten wird das Excel geöffnet und im Programm wird mit der nächsten Codezeile fortgefahren (es wird keine Exception ausgelöst). Ich hab auch schon versucht das Erstellen des Objects und das Befüllen des Sheets in einer Delphi 5 DLL zu machen, und diese dann nur aus Delphi 7 aufzurufen. Aber da kommt der gleiche Fehler. Nur wenn ich alles direkt in Delphi 5 mache klappt es. Auch versucht hab ich schon direkt die TExcelApplication Komponente vom Delphi 7. Hier auch ohne Erfolg. Es kommt wieder der gleiche Fehler wie oben, plus zusätzlich danach noch ein Fehler "Exception der Klasse EIntfCastError" "Schnittstelle nicht unterstützt". Das Delphi 5 wo es funktioniert und das Delphi 7 sind beide auf dem gleichen Rechner installiert (Windows XP). Irgendjemand eine Idee was ich noch machen könnte? Danke, ProPinball. |
AW: Excel 2007 mit Delphi 7 - Fehler beim CreateOleObject
Ergänz mal in deiner Projektdatei (*.dpr) vor der Zeile mit .CreateForm die Zeile
Delphi-Quellcode:
Application.Initialize;
|
AW: Excel 2007 mit Delphi 7 - Fehler beim CreateOleObject
Zitat:
program TestXLS; uses Forms, Main in 'Main.pas' {MainWin}; {$R *.res} begin Application.Initialize; Application.Title := 'Test'; Application.CreateForm(TMainWin, MainWin); Application.Run; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 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