![]() |
TTest=Class array of TTest end
Mir ist langweilig und so habe ich gerade mal an die Treeview gedacht und folgendes Paradoxon überlegt.
Wäre doch irre, wenn das funktionieren würde. Der Compiler meckert nicht mal(bei einem Record schon),aber beim ersten Aufruf gibt's logischerweise eine EAccessViolation. P.S. Mir ist schon klar,das ein Treeview mit Items aufgebaut ist,die weitere Items beinhalten (können). Soll nur mal eine Überlegung zu Strukturen sein. Ist wohl besser eine Art Class(TMyDNSTreenode) mit Var Mensch:array of TMenschVariant zu basteln. :sharkylinchen: :kiss: Blöder vergleich mit den Babies,was besseres fiel mir gerade nicht ein. Bitte nicht ganz ernst nehmen!
Delphi-Quellcode:
Fazit:
Type
TMensch=Class i:integer; Mensch:Array of TMensch; end; Var Mensch:Array of TMensch; procedure TForm1.Button1Click(Sender: TObject); Var L1_,L2_,L3_,cnt1_,cnt2_,cnt3_:integer; begin L1_:=5; L2_:=2; L3_:=3; Setlength(Mensch,L1_); //grösse der Menschenmenge definieren for cnt1_ := 0 to L1_ - 1 do begin Mensch[cnt1_].i:=10; Setlength(Mensch[cnt1_].Mensch,L2_); //Grösse MenschenMengeX in MenschX z.B. Babies for cnt2_ := 0 to L2_ - 1 do begin Mensch[cnt1_].Mensch[cnt2_].i:=11; Setlength(Mensch[cnt1_].Mensch[cnt2_].Mensch,L3_); //wenn Babies als Baby schwanger werden könnten for cnt3_ := 0 to L3_ - 1 do begin Mensch[cnt1_].Mensch[cnt2_].Mensch[cnt3_].i:=12; // ... usw. end; end; end; end; end. //EDIT Bei schwangeren Babies vom Typ TMensch mit Mutter TMensch gibt es eine EAccessviolation in der Umgebung,logisch oder? (Q.E.D) //Bug wiederlegte meine These:Die Violation wurde durch das fehlende Mensch[cnt1_]:=TMensch.Create; verursachtt. P.P.S. Ich suche immer noch nach dem Bug in meinem Leben,z.B. habe ich immer noch einen buffer-underrun in meiner Finanzroutine. :dancer2: |
Re: TTest=Class array of TTest end
Delphi-Quellcode:
type
TMensch= class; TMensch=Class i:integer; Mensch:Array of TMensch; end; |
Re: TTest=Class array of TTest end
@mkinzler
Delphi-Quellcode:
So geht's leider auch nicht,aber klingt logischer als mein erster Versuch,Danke trotzdem!
type
TMensch= class; TMensch=Class i:integer; Mensch:Array of TMensch; end; |
Re: TTest=Class array of TTest end
Das du jedes TMensch-Objekt selbst erzeugen/freigeben musst, ist dir klar, oder?
Also:
Delphi-Quellcode:
MfG,
var mensch: TMensch;
//... mensch := TMensch.create; // tue etwas mit dem Mensch ... mensch.free; Bug |
Re: TTest=Class array of TTest end
@BUG
Hehe "patsch", an die Stirn klopf. Du hast recht,hatte vergessen, das ich für alle Klassen einen Konstruktor aufrufen muss,Danke!. P.S. hast Du vieleicht auch die Lösung für meine Finanzroutine? :cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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