Einzelnen Beitrag anzeigen

hermannhass

Registriert seit: 23. Dez 2006
Ort: Nähe Las Palmas
69 Beiträge
 
#1

OLE: Schnittstelle wird nicht unterstützt

  Alt 28. Jan 2007, 15:23
Ich lese aus einer Exceldatei eine Tabelle und kopiere Sie in ein Stringgrid.
Ich connectiere Excel:
ExcelApplication1:=TExcelApplication.create(nil);
FLCID:=GetUserDefaultLCID;
ExcelApplication1.Visible[FLCID] := False; // Starte Excel unsichtbar
ExcelApplication1.UserControl:= False; // UserControl muss immer syschron zu Visible gesetzt
ExcelApplication1.DisplayAlerts[FLCID]:=False; // Unterdrücke alle Fehlermeldungen von Excel
ExcelApplication1.Connect;
....
führe meine "operationen" durch
....
und disconnectiere ordnungsgemäß
ExcelApplication1.Quit;
ExcelApplication1.Disconnect; (*)
ExcelApplication1.free;


Dies klappt wunderbar. Wenn ich aber diese Procedure mehrmals hintereinander aufrufe, kommt beim2,3 oder 4. mal(unterschiedlich) eine Exception "Schnittstelle wird nicht unterstützt" an der Stelle (*)
Auch Befehle wie Processmessages oder handlemessage bringen nichts.
Es schein trotzdem ein Synchronisationspüroblem zu sein.

Habt Ihr einen Tip? Danke
Entwickle SW mit Delphi 2006 und sql.
Lebe auf Gran Canaria.
  Mit Zitat antworten Zitat