AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Access Violation mit einfach verketteter Liste
Thema durchsuchen
Ansicht
Themen-Optionen

Access Violation mit einfach verketteter Liste

Ein Thema von Hybrid666 · begonnen am 19. Sep 2010 · letzter Beitrag vom 19. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Bekomme einen Error (sporadisch)

  Alt 19. Sep 2010, 19:07
Da er aber schon prüft, ob das Object assigned ist, vermute ich, dass sich da ein Zeiger einschleicht, der zwar noch auch einer ehemaligen Struktur steht, diese Struktur ist aber schon wieder freigegeben. Der Zeiger wird dadurch ja nicht automatisch auf nil gesetzt.

Kapsel doch mal die Zugriffe mit try ... except und schau nach, bei welchem Object er diese Zicken macht und ob du evtl. da vorher was gelöscht hast.

Was auch gerne passiert:

Ein Object wird doppelt in eine Liste eingetragen. Dann einmal Free und aus der Liste gelöscht und fertig ist der Zugriffsfehler bei dem immer noch existierenden Eintrag in der Liste.
Delphi-Quellcode:
var
  objlst : TObjectList;
  obj : TObject;
begin
  objlst := TObjectList.Create;
  try
    obj := TObject.Create;
    objlst.Add( obj );
    objlst.Add( obj );
    objlst.Delete( 0 );
  finally
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Hybrid666

Registriert seit: 15. Jul 2006
Ort: Erster Stock
250 Beiträge
 
Delphi 7 Personal
 
#2

AW: Bekomme einen Error (sporadisch)

  Alt 19. Sep 2010, 19:08
peinliche frage: ich hab noch nie mit nem debugger geschafft. was nimmt man da und wie schau ich mir die listen an?

Danke!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Bekomme einen Error (sporadisch)

  Alt 19. Sep 2010, 19:13
Einfach Breakpoint an der Stelle setzen (oder kurz vorher) dann hält der Debugger hier an. Dann kannst du die Variablen durch Hinzufügen als überwachte Ausdrücke oder durch Überfahren mit der Maus auswerten
Markus Kinzler
  Mit Zitat antworten Zitat
Hybrid666

Registriert seit: 15. Jul 2006
Ort: Erster Stock
250 Beiträge
 
Delphi 7 Personal
 
#4

AW: Bekomme einen Error (sporadisch)

  Alt 19. Sep 2010, 19:20
supi, euch allen vielen dank! ich hab den fehler gefunden.

Delphi-Quellcode:
  if Makro = nil then
  begin
    new (Makro);
    Makro.Next := nil;
    RefMakro := Makro;
    new (RefMakro.Commands);
    Makro.TimeStamp := TimeStamp;
    RefCommand := Makro.Commands;
    RefCommand.Next := nil; //<--- Diese Zeile hier hat gefehlt, dadurch hat assigned wohl true geliefert...
    Makro.Commands.InputName := Name;
    Makro.Commands.Pressed := Pressed;
  end
EDIT: Sorry himitsu, werd ich gleich abändern. Ich arbeite mit dem alten rustikalen Delphi 7 *gg* Und danke für deine Tips!

Geändert von mkinzler (19. Sep 2010 um 19:28 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Bekomme einen Error (sporadisch)

  Alt 19. Sep 2010, 19:28
Aber auch der Code von dem "rustikalen" Delphi verdient es richtig gehighlightet zu werden. Verwende bitte für Delphi-Code den Delphi-Tag!
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Bekomme einen Error (sporadisch)

  Alt 19. Sep 2010, 20:02
Und bitte gib deinem Beitrag einen aussagekräftigen Titel.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hybrid666

Registriert seit: 15. Jul 2006
Ort: Erster Stock
250 Beiträge
 
Delphi 7 Personal
 
#7

AW: Bekomme einen Error (sporadisch)

  Alt 19. Sep 2010, 20:20
Und bitte gib deinem Beitrag einen aussagekräftigen Titel.
ja das hab ich mir im nachhinhein auch gedacht, sorry. ich konnte ihn dann aber nichtmehr editieren.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Bekomme einen Error (sporadisch)

  Alt 19. Sep 2010, 20:22
Du kannst deine Beiträge und deren Titel innerhalb von 24 Stunden noch editieren. Es muss also gehen. Klick mal auf die Schaltfläche "Erweitert".
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Bekomme einen Error (sporadisch)

  Alt 19. Sep 2010, 20:25
Und danach kannst du den Beitrag mit der Bitte der Änderung melden. Einer vom Team wird deinem Wunsch dann nachkommen.
Markus Kinzler
  Mit Zitat antworten Zitat
Hybrid666

Registriert seit: 15. Jul 2006
Ort: Erster Stock
250 Beiträge
 
Delphi 7 Personal
 
#10

AW: Access Violation mit einfach verketteter Liste

  Alt 19. Sep 2010, 20:25
Danke nun sollte alles passen!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:54 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