Vielen Dank für eure Hilfe.
Dies habe ich nun verstanden und es hat auch geklappt!
Nu habe ich gleich noch eine andere Frage zum selben Thema.
Ich habe bei mir in der hauptunit ein ObjektA erstellt, welches ich im private bereich deklariert habe.
Dieses erstelle ich beim öffnen der Anwendung.
Während der Laufzeit, möchte ich mit diesem ObjektA arbeiten.
Um mit diesem ObjektA arbeiten zu können, habe ich mir eine zweite Klasse geschrieben, welche die entsprechenden "bearbeitungs methoden" beinhaltet. Damit ich mit dieser Klasse arbeiten kann, muss ich davon ja auch ein ObjektB erstellen. Soweit so gut. Klappt auch.
Nun möchte ich bei einem Button click, das ObjektB, welches mir Hilft ObjektA zu bearbeiten, erstellen -> verwenden -> und wieder freigeben.
Hier gibts das Problem. Da ich bisher nicht ans freigeben gedacht habe, hab ich das erst jetzt bemerkt.
Ich übergebe ObjektB folgendes beim Create:
Delphi-Quellcode:
FVST:TVirtualStringTree;
FMySQL:TmySQLe;
constructor TeVCLqueryTable.Create(
const VST: TVirtualStringTree;
const MySQL:TmySQLe);
begin
FVST := VST;
FMySQL :=
MySQL;
...
Beim ObjectB.Free bekomme ich eine
Exception.
Ich vermute mal, dass es dabei auch die übergebenen Objekte VST und
MySQL freigegeben hat.
Dann wäre mir klar, dass es nicht mehr funktioniert!
Eigentlich möchte ich nur einen Pointer auf das ObjektA bzw. VST und
MySQL damit ich mit diesen bereits existierenden Objekten innerhalb meines neuen Objektes arbeiten kann.
Nach dem Freigeben von ObjektB sollen die Objekte VST und
MySQL weiterleben.
Könnte mir hier jemand weiterhelfen?
Vielen Dank