@ MrSpock: Danke für's Willkommen
@all: Die Tabelle wird als tempöräre Tabelle/Datei genutzt. In diese sollen Inhalte aus andere Tabellen eingefügt werden, um diese dann auszuwerten.
Z.Z. sieht das so aus:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
begin
// ... erzeugen der der Temp-Datei ...
Try
Table_Temp.DatabaseName := GetTempFolder ;
Table_Temp.TableName := 'VA_TEMP.dbf' ;
Table_Temp.Active := True ;
Except Application.MessageBox('Die temp. Tabelle konnte nicht an die temp. Datei gebunden werden', 'Visuanalyse', 48) ;
End ;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// Löschen der Temp Datei
Table_Temp.Active := False ;
Table_Temp.DeleteTable ;
If FileExists(GetTempFolder + 'VA_TEMP.dbf')
Then If not DeleteFile(GetTempFolder + 'VA_TEMP.dbf') // TempDatei löschen
Then Application.MessageBox('Die temporäre Datei konnte nicht gelöscht werden.' , 'Visuanalyse', 48) ;
Bei Table_Temp.DeleteTable tritt dann eine
Exception der Klasse EDBEngineError, Meldung "Ungültiger Dateiname" auf.
Wenn ich die Zeile Table_Temp.DeleteTable rausnehme, erscheint halt meine MessageBox, das die Datei nicht gelöscht werden konnte.
Wenn ich Table_Temp.DeleteTable durch Table_Temp.EmptyTable ersetze, tritt an der Stelle eine
Exception der Klasse EDBEngineError, Meldung "Ungültiger Parameter" auf.
Nach meinem Verständniss, müsste ich doch nur die "Verbindung" von der Tabelle zur Datei lösen und könnte sie dann löchen. Aber scheinbar langt Table_Temp.Active := False ; nicht.
Kann mir noch jemand weiterhelfen?
Gruss
Michael
[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]