Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.476 Beiträge
 
Delphi 12 Athens
 
#5

Re: Komponente verursacht Fehler beim Beenden von Delphi/Pro

  Alt 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
  Mit Zitat antworten Zitat