Registriert seit: 14. Aug 2005
1.859 Beiträge
Delphi 11 Alexandria
|
Re: Excel in einer Komponente einbinden generell machbar?
26. Jun 2009, 19:51
Hallo BAMatze,
ich habe jetzt nicht die Komponente in jede Einzelheit durchgearbeitet, was mir aber aufgefallen ist:
im Destructor gibt’s Du z.B.:
Delphi-Quellcode:
Destructor TDatenbankoberflaeche.Destroy;
begin
// Sind die nicht schon freigegeben ????????
FExcelWorkbook.Close(true); // Speichert die Änderungen in Excel
FExcelWorksheet.Free;
FExcelWorkbook.Free;
FExcelApplication.Free;
und in der Procedure:
Delphi-Quellcode:
procedure TDatenbankoberflaeche.ExcelDatenbank_anlegen;
var sparentroot: string;
iUserLCID: integer;
begin
sparentroot := ExtractFilePath(ParamStr(0));
FsDatenbankPfad := sparentroot;
iUserLCID := GetUserDefaultLCID;
FExcelApplication := TExcelApplication.Create(Nil);
FExcelApplication.Workbooks.Add(emptyparam, iUserLCID);
FExcelWorkbook := TExcelWorkbook.create(Nil);
FExcelWorkbook.ConnectTo(FExcelApplication.ActiveWorkbook as ExcelWorkbook);
FExcelWorkbook.Worksheets.Add(emptyParam, emptyParam, emptyParam, emptyParam, iUserLCID);
FExcelWorksheet := TExcelWorksheet.create(Nil);
FExcelWorksheet.ConnectTo(FExcelWorkbook.ActiveSheet as ExcelWorksheet);
FExcelWorksheet.Cells.Item[3,1] := 'Lfd. Nr.';
FExcelWorksheet.Cells.Item[3,2] := 'Name';
FExcelWorksheet.Cells.Item[3,3] := 'Hüllenlänge';
FExcelWorksheet.Cells.Item[3,4] := 'Hüllendurchmesser';
FExcelWorksheet.Cells.Item[3,5] := 'Gap';
FExcelWorksheet.Cells.Item[3,6] := 'li Spleißpos';
FExcelWorksheet.Cells.Item[3,7] := 're Spleißpos';
FExcelWorkbook.Close(true, sparentroot + ExcelDatenbankName, emptyParam, iUserLCID); // Speichert die Änderungen in Excel }
// im Destructor werden sie noch mal freigegeben?????
FExcelWorksheet.Free;
FExcelWorkbook.Free;
FExcelApplication.Free;
end;
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
|
|
Zitat
|