![]() |
letztes Element eines Records löschen
Hallo;
wie kann ich das letzt Element eines Records löschen ? Fange gerade erst mit Records an deshalb habe ich da gar keine Ahnung! Liebe Grüße |
AW: letztes Element eines Records löschen
Zitat:
|
AW: letztes Element eines Records löschen
Verwechselst Du Record mit Array?
|
AW: letztes Element eines Records löschen
Nein ich meine schon einen Record
Delphi-Quellcode:
Das ist doch ein Record ?!
Type
TEdit_Satz=record Combo_Komponente:TCombobox; Mmo_Beschreibung:TMemo; Preis_Edit:TEdit; zehn_Edit:TEdit; zehnMwSt_Edit:TEdit; zwanzig_Edit:TEdit; zwanzigMwSt_Edit:TEdit; vierzig_Edit:TEdit; vierzigMwSt_Edit: TEdit; end; |
AW: letztes Element eines Records löschen
Und welches Element soll nun gelöscht werden?
Edit: mir schwant furchtbares... |
AW: letztes Element eines Records löschen
Jetzt bin ich auch mal gespannt. VCL-Komponenten in einem Record, ok. Aber dann "das letzte" ... "löschen"? :shock:
|
AW: letztes Element eines Records löschen
so ...
Delphi-Quellcode:
private
Edit_Sätze:TEdit_Sätze; ich gehe dann her und erstelle dann mehrere Edits die eine Variable k vom Typen Integer bekommen:
Delphi-Quellcode:
wenn ich jetzt bei k z.B. auf 5 bin, wie kann ich dann das letzte Teil löschen so das k auf 4 ist ?
Edit_Sätze[k].zehn_Edit
Delphi-Quellcode:
geht schon mal nicht !
Edit_Sätze[k].zehn_Edit :=free;
Es geht nur:
Delphi-Quellcode:
!
Edit_Sätze[k].zehn_Edit :=nil;
Aber damit ist es ja nicht gelöscht ! |
AW: letztes Element eines Records löschen
Wie ist TEditSätze deklariert?
OT: ist doch niedlich, daß die IDE auch Deutsche Umlaute in Variablennamen kann, nicht? |
AW: letztes Element eines Records löschen
Also wenn man ein Objekt (z.B. Edit1) freigeben will, dann macht man das mit:
Delphi-Quellcode:
Edit1 ist dann "undefiniert". Wenn Du Edit1.Text dann etwas zuweist kann das schnell ungeahnte und unvorhersehbare Probleme verursachen.
Edit1.Free;
Deshalb kann man noch die Variable "auf Null setzen".
Delphi-Quellcode:
Beide Anweisungen lassen sich auch gemeinsam ausführen:
Edit1 := nil;
Delphi-Quellcode:
FreeAndNil(Edit1);
Soweit zum Löschen Deines Edits. Was Du genau mit Deinem Record und Deinem Array bezweckst habe ich nicht wirklich verstanden. Sicher gibt es bessere Lösungen. I.d.R. werden diese eher für Datenverwaltung verwendet. Vermutlich solltest Du Dir einmal anschauen, wie man Komponenten entwickelt. So kann man z.B. ein Panel definieren, das gleich einige Edits, Schalter usw. enthält. Noch einfacher und oft ausreichend ist die Verwendung von Frames. |
AW: letztes Element eines Records löschen
Das FreeAndNil bringt aber nur dann einen Vorteil, wenn vor jedem Zugriff auf die entsprechende Objektvariable auch auf nil bzw. Assigned geprüft wird. Ansonsten produziert man immer noch ggf. AVs.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz