Zitat von
Apollonius:
Ich würde auf jeden Fall von solchen TerminateProcess-Abenteuern abraten. Das behebt nur die Symptome und nicht das zugrunde liegende Problem.
Da hast du wirklich recht!!
Ich wiederhole den Sourcecode nochmal:
Delphi-Quellcode:
procedure TExcelImport.OeffneDatei(Dateiname: string);
begin
try
FExcel:= CreateOleObject('Excel.Application');
FExcel.Visible := false;
FExcel.WorkBooks.Open(Dateiname);
FSheet := FExcel.Workbooks[1].WorkSheets[1];
except
on E:EOleException do
begin
FExcel.Quit;
raise EFileAccessException.Erzeugen('Die Datei konnte nicht geöffnet werden: ' + E.ClassName);
end;
end;
end;
Also gibt es jetzt 2 aktive Objekte:
FExcel und
FSheet !!
Nur wenn man beide auf
Unassigned setzt, kann sich Excel selbst beenden.