AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TTable Datei löschen
Thema durchsuchen
Ansicht
Themen-Optionen

TTable Datei löschen

Ein Thema von glunzl · begonnen am 21. Mär 2004 · letzter Beitrag vom 23. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von glunzl
glunzl

Registriert seit: 21. Mär 2004
Ort: Reinbek
119 Beiträge
 
Delphi 7 Professional
 
#1

TTable Datei löschen

  Alt 21. Mär 2004, 18:44
Hallo Leutz!

Ich erstelle mit dem FormCreate Ereignis eine Datei, die ich anschliessend an eine TTable-Komponente binde. Active wird danach auf True gesetzt.
Beim Ereignis FormClose möchte ich diese Datei wieder löschen. Dazu setze ich Active auf False, aber löschen lässt sich die Datei dann nicht. Was muss denn noch erfüllt sein, damit ich die Datei löschen kann?

Danke für Eure Tipps!

Michael
Michael
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: TTable Datei löschen

  Alt 21. Mär 2004, 22:33
Hallo glunzl,

zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum.

Nun zu deiner Frage: Eigentlich sollte das Schließen der Tabelle ausreichen, um die zugrundeliegende Datei löschen zu können. Versuche vielleicht mal ChachedUpdate auf False zu setzen, damit nicht mit Zwischenspeichern gearbeitet wird.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#3

Re: TTable Datei löschen

  Alt 21. Mär 2004, 22:35
Mit dem BDE-Krempel kenne ich mich überhaupt nich aus, aber eine Gegenfrage habe ich da:
Warum eine Tabelle erstellen um sie beim Schließen wieder zu löschen?
  Mit Zitat antworten Zitat
grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#4

Re: TTable Datei löschen

  Alt 21. Mär 2004, 23:02
hallo mr spock!

Zitat:
Eigentlich sollte das Schließen der Tabelle ausreichen, um die zugrundeliegende Datei löschen zu können.
das wäre aber ganz tragisch, wenn beim schliessen des tables die dahinterliegende tabelle gelöscht würde. furchtbar, nicht auszudenken.
aber gott sei dank tut sie das ohnehin nicht so leichtfertig, ausser man experimentiert mit 'deletetable'

mfg, stefan
  Mit Zitat antworten Zitat
grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#5

Re: TTable Datei löschen

  Alt 21. Mär 2004, 23:07
hallo glunzl!

also normalerweise löscht man tabellen nicht beim beenden des programmes, ausser es handelt sich um temporäre tabellen.
zieh dir eine TTable-komponente auf die IDE, markiere sie und drück auf F1. unter den methoden des tables wirst du ausdrücke wie DeleteTable oder EmptyTable finden. und eines der beiden passt für dein vorhaben.

mfg, stefan
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6

Re: TTable Datei löschen

  Alt 21. Mär 2004, 23:18
Hallo grayfox,

da hab ich mich wohl falsch ausgedrückt. Ich meinte, dass das Schließen der Tabelle diese frei gibt, sodass sie anschließend gelöscht werden kann. Natürlich wird sie nicht automatisch gelöscht .
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von glunzl
glunzl

Registriert seit: 21. Mär 2004
Ort: Reinbek
119 Beiträge
 
Delphi 7 Professional
 
#7

Re: TTable Datei löschen

  Alt 22. Mär 2004, 10:19
@ 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]
Michael
  Mit Zitat antworten Zitat
Benutzerbild von glunzl
glunzl

Registriert seit: 21. Mär 2004
Ort: Reinbek
119 Beiträge
 
Delphi 7 Professional
 
#8

Re: TTable Datei löschen

  Alt 22. Mär 2004, 10:22
@Sharky: Danke! Wieder was gelernt ...

Michael
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: TTable Datei löschen

  Alt 22. Mär 2004, 10:29
Hai glunzl,

ich vermisse bei deinem Code ein .CreateTable. Wenn die Tabelle nur temporär vorhanden ist musst Du sie doch auch irgendwann erzeugen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von glunzl
glunzl

Registriert seit: 21. Mär 2004
Ort: Reinbek
119 Beiträge
 
Delphi 7 Professional
 
#10

Re: TTable Datei löschen

  Alt 22. Mär 2004, 10:46
@Sharky: Ich habe mir eine TTable-Komponennte auf meine Form gezogen. Muss sie dann nicht nur im Objektinspektor eingestellt werden? Zur Laufzeit stelle ich dann die andreren Eigenschaften ein.

Die Datei wird ja angelegt, sehe ich ja. Nur das löschen will nicht ...

Michael
Michael
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz