Einzelnen Beitrag anzeigen

der-olli

Registriert seit: 15. Jan 2006
1 Beiträge
 
#39

Re: Spiel für Informatik Unterricht!!

  Alt 15. Jan 2006, 19:21
Hi eMGee,

also das mit dem
aktuellerRaum:=TRaum.Create; würde ich ganz schnell wieder vergessen, da du aktuellerRaum ja danach eh wieder überschreibst und dadurch nur ein Speicherleck entsteht, da du das vorher erzeugte Objekt aktuellerRaum nie wieder freigibst (was ja schon gesagt wurde). (genauso müsstest du auch im OnDestroy-Event die ganzen Räume mit room[i].Destroy (i=1..16) wieder freigeben)

Zu deiner AccessViolation schlage ich dir mal vor, einfach auf dein Formular zu gehen, und in den Objekt-Inspektor bei dem Ereignis OnCreate FormCreate einzutragen. So wie das aussieht, werden nämlich deine ganzen Räume (und damit ja auch aktuellerRaum) nie einem Wert zugewiesen (bzw. haben rein zufällige Werte), da ja das OnCreate gar nicht erst aufgerufen wird. (Setze dich in diesem Zusammenhang am besten gleich mal mit Haltepunkten / Debugger auseinander -> Delphi-Hilfe oder deinen Informatik-Lehrer fragen ) Damit will Delphi dann z.B. im Button1Click-Event auf aktuellerRaum.Norden zugreifen, was aber natürlich nicht geht, da der Speicher-Bereich, auf den aktuellerRaum zeigt, gar nicht existiert.

Hoffe damit sind die Fragen geklärt.

Grüße

Olli
  Mit Zitat antworten Zitat