Autor Beitrag
colaka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: Mi 16.01.08 08:24 
Hallo,

ich erzeuge in meinem Programm mehrfach eine tempöräre Paradox-Tabelle, die dann mit Werten zur weiteren Verarbeitung gefüllt wird. Das klappt auch ganz gut, solange ich die Tabelle nur einmal erzeuge. Mache ich das ein zweites Mal, kommt die Meldung "Tabelle ist schon in Gebrauch". Also füge ich vor "try TableTemp := TTable.Create(self)" ein: if TableTemp.Active then TableTemp.Close. Dann kann ich die Tabelle mehrmals erzeugen und das ganze Programm funktioniert. Aber nur, bis ich meinen Rechner neu starte, denn dann hängt sich der Rechner schon bei if TableTemp.Active auf. Auch "try TableTemp.close" führt zum Aufhängen.

Es wäre schön, wenn mir hier jemand einen Tippp geben könnte.

Danke
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 16.01.08 08:45 
Du fragst ja nicht, ob die das Objekt schon existiert, sondern ob es aktiv ist.
if not Assigned(TableTemp) überprüft das Objekt. Wenn du die Tabelle öfters brauchst, warum definierst du diese dann nicht fest, sondern erzeugst immer eine neue?
Außerdem gibst du die alten tabellenobjekte ja nicht frei, sondern schließt diese nur und erzeugst dann ein neues.

_________________
Markus Kinzler.