Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.476 Beiträge
Delphi 12 Athens
|
Re: Komponente verursacht Fehler beim Beenden von Delphi/Pro
31. Jul 2009, 18:02
Das Speicherleck, ist die Folge einer - sagen wir mal - ungeschickten Implementation von TOleServer und entzieht sich somit deinem Zugriff. Wenn du allerdings die Events der OleServer gar nicht brauchst, kannst du auch die Interfaces direkt verwenden:
Delphi-Quellcode:
procedure ExcelDatenbank_anlegen;
var
sparentroot: string;
iUserLCID: integer;
FExcelApplication: ExcelApplication; // dies sind Interfaces, keine Klassen!
FExcelWorkbook: ExcelWorkbook;
FExcelWorksheet: ExcelWorksheet;
begin
sparentroot := ExtractFilePath(ParamStr(0));
iUserLCID := GetUserDefaultLCID;
FExcelApplication := CoExcelApplication.Create;
FExcelApplication.Workbooks.Add(emptyparam, iUserLCID);
FExcelWorkbook := FExcelApplication.ActiveWorkbook;
FExcelWorkbook.Worksheets.Add(emptyParam, emptyParam, emptyParam, emptyParam, iUserLCID);
FExcelWorksheet := FExcelWorkbook.ActiveSheet as ExcelWorksheet;
FExcelWorksheet.Cells.Item[3,1] := 'Hallo';
FExcelWorksheet.Cells.Item[3,2] := 'dies';
FExcelWorksheet.Cells.Item[3,3] := 'ist';
FExcelWorksheet.Cells.Item[3,4] := 'ein';
FExcelWorksheet.Cells.Item[3,5] := 'Test';
FExcelWorkbook.Close(true, sparentroot + Testname, emptyParam, iUserLCID); // Speichert die Änderungen in Excel }
end;
Uwe Raabe
|
|
Zitat
|