Einzelnen Beitrag anzeigen

hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#8

AW: Pointer wirrwarr. Bitte um hilfe

  Alt 5. Feb 2016, 18:07
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
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat