Thema: Delphi Problem mit msvcrt.dll

Einzelnen Beitrag anzeigen

Benutzerbild von Mokus
Mokus

Registriert seit: 24. Sep 2013
165 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: Problem mit msvcrt.dll

  Alt 3. Jul 2014, 10:06
sooo. . .

Ich gehöre eigentlich bestraft für diesen Fehler.
Habe gestern abend noch den Fehler gefunden, war aber zu Faul noch ein DP EIntrag zu schreiben ...


ALT:
Delphi-Quellcode:
constructor TStadt.create(pname: string; pNachbarn: allNachbarn);
var
  I: integer;
begin

  self.Fname := pname;
  self.Nachbarn := pNachbarn;
  for I := 0 to length(pNachbarn) do
    Nachbarn[I].besucht := False;
end;

NEU:
Delphi-Quellcode:
constructor TStadt.create(pname: string; pNachbarn: allNachbarn);
var
  I: integer;
begin

  self.Fname := pname;
  self.Nachbarn := pNachbarn;
  for I := 0 to length(pNachbarn) - 1 do // Hier ist der Unterschied ...
    Nachbarn[I].besucht := False;
end;
Im Constructor von der Stadt wurde die Nachbarn in einem Array übergeben, ich laufe danach mit einer FOR Schleife alle Nachbarn durch und sagte ihn, das diese noch nicht besucht sind.
Hier haben wir wieder das alte Problem mit dem Index und der Anzahl bzw. Länge ...

die Länge gibt 1 zurück.
wir machen den durchlauf auf Index 0, da ist ein Wert.
dann auf index 1, hier ist aber nichts hinterlegt.
Es kamm wohl keine Out of range execption sondern er versucht wohl im Arbeitsspeicher irgendwas zu überschreiben, auf eine NIL adresse . . .

Hierbei hat er wohl auch die Instanz von der KLasse verloren . . .

Mysteriös ?!

danke an euch, für die schnelle Hilfe


besonderen dank an baumina
dank dir hab ich mir nochmal den construcotr angeschaut ^^
Markus
es gibt nur 10 arten von menschen !
die die binär verstehen und die die nicht. !
  Mit Zitat antworten Zitat