![]() |
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Hi Manumf. :hi:
Zeig doch mal den Konstruktor-Code. Und benenn den Konstruktor nach Create um. Init, das gab's mal unter TurboPascal... ;-) |
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Hallo,
unser Lehrer meinte, wir sollen es so nennen, um es nicht mit create zu verwechseln :gruebel: Hier der Code:
Delphi-Quellcode:
Der Aufruf siehe mein Beitrag #8.
constructor TKnoten.Init;
begin Position := Point(0, 0); // um später schnell anzuzeigen, wo er liegt Nummer := 0; // auch für die Anzeige KLinks := nil; // die Verknüpfungen KRechts := nil; KOben := nil; KUnten := nil; Genutzt := false; // wird für den Durchlauf gebraucht end; Gruß, ManuMF |
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Hi.
Delphi-Quellcode:
Die Dimensionierung steht in keinem Verhältnis zu den von dir verwendeten Indexwerten.
begin
SetLength(Knoten, Pred(LZahl)); for Y := 0 to Pred(LZahl) do begin for X := 0 to Pred (LZahl) do begin Knoten[X + (Lzahl * Y)] := TKnoten.Start; Grüße vom marabu |
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Hallo,
stimmt! :wall: Ich habe es jetzt korrigiert:
Delphi-Quellcode:
Aber warum hat das Erstellen trotzdem geklappt? :gruebel: Die Meldung kommt übrigens immer noch, zuerst aber eine mit ungültiger Zeigeroperation.
SetLength(Knoten, PredSqr((LZahl)));
Gruß, ManuMF |
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Zitat:
Zitat:
|
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Zitat:
Zitat:
Gruß, ManuMF |
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Hi Manumf.
Zitat:
(Lehrer gibt's) Sähe dann so aus:
Delphi-Quellcode:
constructor TKnoten.Create;
begin inherited; // <-- GANZ BESONDERS WICHTIG!!! Position := Point(0, 0); // um später schnell anzuzeigen, wo er liegt Nummer := 0; // auch für die Anzeige KLinks := nil; // die Verknüpfungen KRechts := nil; KOben := nil; KUnten := nil; Genutzt := false; // wird für den Durchlauf gebraucht end; |
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Zitat:
Zitat:
|
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Hallo,
Danke an Alle! :-D Warum auch immer, erst jetzt kam "Fehler bei Bereichsprüfung", obwohl ich es schon nach dem Beitrag von Khabarakh aktiviert hatte. Und jetzt ist es mir klar: Die Länge für SetLength muss ja = die höchste Knotennummer + 1 sein, da ich bei 0 anfange... :wall: So kommt jetzt auch keine Meldung mehr. Gruß, ManuMF P.S.: Ist es nun besser, Create zu verdecken, oder Init o.Ä. zu verwenden? ;-) |
Re: Probleme mit dyn. Array & pseudo-doppelt verketteter
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 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