AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Zugriffsverletzung Pointer dereferenzieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung Pointer dereferenzieren

Ein Thema von CTest · begonnen am 30. Jul 2011 · letzter Beitrag vom 31. Jul 2011
 
CTest

Registriert seit: 13. Apr 2010
Ort: Gehren
33 Beiträge
 
#1

Zugriffsverletzung Pointer dereferenzieren

  Alt 30. Jul 2011, 13:50
Hallo,

Ich habe eine Klasse TFlaeche mit der Eigenschaft Item.
Ich möchte Pointer auf Double-Werte dereferenziert in eine TDoubleList schreiben und den Pointer auf den Eintrag in der Liste in ein BTree schreiben. Beim Zugriff auf die Eigenschaft, zeigt der Pointer dann zwar noch auf die Adresse des Eintrags, es kommt aber beim dereferenzieren zur Zugriffsverletzung.

Code:
property Item[const Idx: Integer]: Pointer read GetItem write SetItem; default;
procedure TFlaeche.SetItem(const Idx: Integer; P: Pointer);
var
  idx: Integer;
begin
  FData.Add(Double(P^));
  FDataIdx[idx] := @FData.List^[FData.Count-1];
end;

function TFlaeche.GetItem(const Idx: Integer): Pointer;
begin
  Result := FDataIdx[idx]
end;

Zugriff:
var  d : Double;
...
  d := Double(FFlaeche[idx]^);
Kann mir jemand sagen, was da schief läuft?

vielen Dank

Geändert von CTest (30. Jul 2011 um 21:37 Uhr)
  Mit Zitat antworten Zitat
 


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 13:27 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