AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Problem mit einer Stringlist und Pointern
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit einer Stringlist und Pointern

Ein Thema von Tormentor32 · begonnen am 11. Jan 2007 · letzter Beitrag vom 12. Jan 2007
 
Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#27

Re: Problem mit einer Stringlist und Pointern

  Alt 12. Jan 2007, 08:10
Schon wieder diese Pointer...

Aaaaalso

Ich habe die Einträge in meiner Liste jetzt so arrangiert:
Delphi-Quellcode:
  TBauteil = Record
    ID: string; // Der einzigartige name jedes Bauteils
    Typ: TBauteilTyp; // Der Typ des Bauteils (im moment noch unwichtig)
    Ebene: integer; // Die Ebene des Bauteils, also Root Ebene = 0 Nachfolger Ebene = 1 usw
    Parent,Next: Array of PBauteil // Die direkten nachfolgenden und vorherigen Elemente
  end;
Da ich mit meiner Liste einen Stromkreis darstellen möchte, habe ich mir Überlegt, dass sich Parallel und Reihenschaltungen ja auch verschachteln können z.B:
Code:

[root] ---> [root_child1] ---> [root_child1_child1] ---> [root_child1_child1_child1]
                          \--> [root_child1_child2] --/
In diesem Fall wird aber durchs rekursive Auflisten (logischerweise, ergeht ja alle einträge durch, folgendes Angezeigt
Zitat von Listbox:
root_child1_child1_child1
root_child1_child1
root_child1_child1_child1
root_child1_child2
root_child1
root
Ist ja auch klar, denn durch die Rekursive Suche wird root_child1_child1_child1 zweimal gefunden

Wie kann ich das umgehen?
Die Zweite Sache ist, wenn ich den Speicherplatz beim beenden rekursiv freigebe, dann kommts auch zu einem Problem, denn:
Code:
[s][root] ---> [root_child1] ---> [root_child1_child1] ---> [root_child1_child1_child1][/s]
[s]                         \--> [root_child1_child2] --/[/s]

[s][root] ---> [root_child1] ---> [root_child1_child1] ---> nil[/s]
[s]                         \--> [root_child1_child2] [color=#ff0000][b]--/[/b][/color] // der Zeigt dahin, wo nichts ist und es kracht, wenn er versucht auf dieses Element zuzugreifen, er weiß ja nicht, das es das Element nicht mehr gibt [/s]
Wie kann ich das verhindern?

Und nochwas? Wäre es sinnvoller, statt Parent: Array of string; lieber Parent: Array of PBauteil; zu nehmen? EDIT: hat sich erldedigt, nur noch das Erste

Vielen Dank schonmal für die Hilfe!

Richard
Richard Mahr
  Mit Zitat antworten Zitat
 


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 20:32 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