![]() |
AW: Destruktor für verkettete Liste
Hallo Stahli,
Zitat:
Gruß Teesäufer |
AW: Destruktor für verkettete Liste
Obj.Free oder FreeAndNil(Obj) gibt erst mal nur das Objekt frei (und setzt im letzteren Fall die Variable auf NULL).
Dabei wird das ausgeführt, was Du im Destructor des Objektes festgelegt hast. Wenn Du dort das jeweils folgende Objekt freigibst usw. (und dabei alle Objekte erwischst), dann werden alle Objekte der Liste freigegeben. |
AW: Destruktor für verkettete Liste
Zitat:
Ist legal und besser supported als Delphi 5 . Ich weiß nicht wie das mit der Starter Edition von Delphi ist, aber man weiß bei Delphi nicht immer wie lange es eine freie Version gibt oder in welcher Form oder überhaupt sie sich beim nächsten Release manifestiert. Delphi ist heute eher ein Produkt für den professionellen Bereich das am besten aboniert wird. Orientiere dich an Lazarus! Oder eben C# mit oder VS-Studio oder Python mit VSCode. |
AW: Destruktor für verkettete Liste
Ja, Lazarus ist deutlich besser als Delphi 5. Die aktuelle Delphi Community Edition ist wiederum deutlich besser als Lazarus.
|
AW: Destruktor für verkettete Liste
Zitat:
Delphi-Quellcode:
Klar kann man Objekte (Class) für eine verkettete Liste nehmen. Wie setzt du next?
TListe = class
private inhalt: string; next: Tliste; public constructor create(wert: string); destructor destroy; override; function gibmirinhalt: string; end;
Delphi-Quellcode:
Type
PStringItem = StringItem; StringItem = Record Inhalt : String; Next : PStringItem; end; var Root : PStringItem; Währe eher mein Ansatz für eine verkette Liste. Oder:
Delphi-Quellcode:
Type
IStringItem = Interface ['{CCB4015D-A7A8-44D1-910B-ADC1847C0BC4}'] Function GetInhalt : String; Procedure SetInhalt(Const aValue : String); Property Inhalt : String read GetInhalt write SetInhalt; end; TStringItem = Class(TInterfacedObject,IStringItem) private Function GetInhalt : String; Procedure SetInhalt(Const aValue : String); private fInhalt : String; public Constructor Create(Const aInhalt : String); end; var StringList : array of IStringItem; Ein Setlength(StringList,0) löscht alle Deine Elemente... Mavarik :coder: |
AW: Destruktor für verkettete Liste
Hallo Mavarik,
zuerst einmal möchte ich mich für die späte Antwort entschuldigen. Aber ich habe zu viel anderen Kram, sodass ich mich ums Programmieren meistens nur einmal die Woche kümmern kann. Zitat:
var element: TListelement; begin element:=TListelement.Create(neu); if start=nil then begin start:=element; aktuell:=element; end else begin endeListe; aktuell.next:=element; aktuell:=aktuell.next; end; end; Das mit Lazarus schaue ich mir bei Gelegenheit mal an ... |
AW: Destruktor für verkettete Liste
Zitat:
Mavarik |
AW: Destruktor für verkettete Liste
Zitat:
|
AW: Destruktor für verkettete Liste
Zitat:
|
AW: Destruktor für verkettete Liste
Zitat:
Du kannst Deinen QuellCode hier mit Hilfe des Delphi-Symbols (= Helm mit rotem Kamm gleich über der ersten Zeile im Editor) richtig formatieren, damit er besser lesbar ist. Gruß, Andreas PS: Das geht auch nachträglich über den Button "Bearbeiten" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 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