AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Ungültige Zeigeroperation

Ein Thema von Fallenzer · begonnen am 31. Dez 2019 · letzter Beitrag vom 1. Jan 2020
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#11

AW: Ungültige Zeigeroperation

  Alt 1. Jan 2020, 13:06
[QUOTE=Fallenzer;1454199]
Delphi-Quellcode:
sk.free;
sk.add(inttostr(sessio));
Das ist eher sinnfrei!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Ungültige Zeigeroperation

  Alt 1. Jan 2020, 14:54
Du hast da gleich mehrere Fehler in deinem Code:

1. Die Objekte SK und SL werden niergends erstellt. Sind also beim Zugriff der ersten ZK.xxxx oder ZL.xxx noch nil oder zeigen auf einen nungültigen Memoryberech, weil du da globale Variablen nuzzt. Damit ist eine AV die logische Folge.

2. Du gibst das im unteren Teil des Codes SK frei mit SK.Free. Also danach ist SK ungültig und zeigt auf einen ungülitgen Memorybereich. Eine Zeile später greifst du ber gleich wieder auf diese nun ungültige Objektinstanz zu, was dann zu dem Invalid Pointer führt.

3. Solltest du so Sachen in einem try/finally schützen.

Delphi-Quellcode:
sk := TStringlIst.Create;
sl := TStringlIst.Create;
try
  ... // deine Code, der mit sk arbeitet.
finally
  sk.free; // Am Schluss, wenn du sk/sl nicht mehr benötigst, sk/sl freigeben
  sl.Free;
end;

Geändert von Rolf Frei ( 1. Jan 2020 um 14:57 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz