AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein EInvalid Pointer - Ungültige Zeigeroperation
Thema durchsuchen
Ansicht
Themen-Optionen

EInvalid Pointer - Ungültige Zeigeroperation

Ein Thema von roadrunner-S51 · begonnen am 22. Jan 2013
Antwort Antwort
roadrunner-S51

Registriert seit: 28. Mai 2010
53 Beiträge
 
Delphi 2009 Professional
 
#1

EInvalid Pointer - Ungültige Zeigeroperation

  Alt 22. Jan 2013, 10:09
Hallo an Alle!
Leider habe ich wieder mal ein Problem mit dem Thema Arrays. Ich habe ein dynamisches Array, aus welchem ich ein Element löschen möchte. Der Code dazu sieht wie folgt aus:
Delphi-Quellcode:
procedure Loesche_Array_Verwaltung(const AIndex: Integer);
var
  Testwert : Integer;
begin
  if AIndex > High(FeldPlatz) then Exit;
  if AIndex < Low(FeldPlatz) then Exit;
  if AIndex = High(FeldPlatz) then
  begin
    SetLength(FeldPlatz, Length(FeldPlatz) - 1);
    Exit;
  end;
  Finalize(FeldPlatz[AIndex]);
  System.Move(FeldPlatz[AIndex +1], FeldPlatz[AIndex],
  (Length(FeldPlatz) - AIndex -1) * SizeOf(FeldPlatz[0]) + 1);
  SetLength(FeldPlatz, Length(FeldPlatz) - 1);
end;
Im Programmablauf kann es vorkommen, dass ich die Prozedur so oft aufrufe, bis das Feld keine Elemente mehr hat. Das funktioniert fehlerfrei. Wenn ich das Feld aber mit neuen Daten gefüllt habe und dann erneut diese Prozedur aufrufe, bekomme ich an der Stelle von SetLength immer die Fehlermeldung einer ungültigen Zeigeroperation.
Könnt ihr mir bitte weiterhelfen, wo der Fehler liegt?
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:47 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