AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TTest=Class array of TTest end

Ein Thema von busybyte · begonnen am 26. Feb 2008 · letzter Beitrag vom 26. Feb 2008
Antwort Antwort
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#1

TTest=Class array of TTest end

  Alt 26. Feb 2008, 17:05
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.


Blöder vergleich mit den Babies,was besseres fiel mir gerade nicht ein.
Bitte nicht ganz ernst nehmen!

Delphi-Quellcode:
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.
Fazit:
//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 Theseie 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.
I love DiscCat
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TTest=Class array of TTest end

  Alt 26. Feb 2008, 17:15
Delphi-Quellcode:
type
  TMensch= class;

  TMensch=Class
    i:integer;
    Mensch:Array of TMensch;
end;
Markus Kinzler
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#3

Re: TTest=Class array of TTest end

  Alt 26. Feb 2008, 17:21
@mkinzler
Delphi-Quellcode:
type
  TMensch= class;

  TMensch=Class
    i:integer;
    Mensch:Array of TMensch;
end;
So geht's leider auch nicht,aber klingt logischer als mein erster Versuch,Danke trotzdem!
I love DiscCat
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

Re: TTest=Class array of TTest end

  Alt 26. Feb 2008, 17:29
Das du jedes TMensch-Objekt selbst erzeugen/freigeben musst, ist dir klar, oder?
Also:
Delphi-Quellcode:
var mensch: TMensch;
//...
mensch := TMensch.create;
// tue etwas mit dem Mensch ...
mensch.free;
MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#5

Re: TTest=Class array of TTest end

  Alt 26. Feb 2008, 17:37
@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?
I love DiscCat
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz