Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Pointer Dereferenzierung Casting elegant? (https://www.delphipraxis.net/166221-pointer-dereferenzierung-casting-elegant.html)

Looper 3. Feb 2012 11:28

Pointer Dereferenzierung Casting elegant?
 
Moin,

Mein Testcode zur Frage:
Delphi-Quellcode:
type
  tbruch = record
    z,n : integer;
  end;
var
  a : Tbruch;
  p : Pointer;
begin
  a.z := 1;
  a.n := 3;
  p := @a;
  ShowMessage(IntToStr(TBruch(p^).n));
end;
Ist es möglich zu prüfen worauf der Pointer zeigt?
Stelle mir das ungefähr so vor:
Delphi-Quellcode:
if (p^) is TBruch then
...
mfg Looper

Aphton 3. Feb 2012 11:45

AW: Pointer Dereferenzierung Casting elegant?
 
Sofern ich weiß, nicht bei Rekords, jedoch bei Klassen!

p80286 3. Feb 2012 11:47

AW: Pointer Dereferenzierung Casting elegant?
 
Jain!
Der (untypisierte) Pointer zeigt auf irgendwelche Daten.
Es ist Dein Job, diese Daten zu interpretieren.
In den meisten Fällen erwartet mannatürlich bestimmte Werte. Wenn die an der Adresse nicht vorhanden sind, dann stimmt da wahrscheinlich etwas nicht.

Gruß
K-H

Looper 3. Feb 2012 11:52

AW: Pointer Dereferenzierung Casting elegant?
 
Okay. Dann ist die Frage geklärt.
Danke für die schnelle Antwort :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 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