Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Ungültige Zeigeroperation (https://www.delphipraxis.net/202981-ungueltige-zeigeroperation.html)

p80286 1. Jan 2020 13:06

AW: Ungültige Zeigeroperation
 
[QUOTE=Fallenzer;1454199]
Delphi-Quellcode:
sk.free;
sk.add(inttostr(sessio));
Das ist eher sinnfrei!

Gruß
K-H

Rolf Frei 1. Jan 2020 14:54

AW: Ungültige Zeigeroperation
 
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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 Uhr.
Seite 2 von 2     12   

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