Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Automatische Größenerkennung von Parametern
Flamefire - So 29.08.10 18:24
Titel: Automatische Größenerkennung von Parametern
Ich schreibe gerade eine Wrapper für WriteProcessMemory etc.
Jetzt Habe ich da sowas: function Read<T>(address:Cardinal; var X:T):Boolean;
Ist ja schonmal ganz Praktisch, da ich mit:
Read<Byte>(xxx, foo); und
Read<Cardinal>(yyy, bar);
Variablen verschiedener Größen lesen kann. Auch Records sind kein Problem.
Nur: Ist es nicht möglich, den Compiler die Größe automatisch bestimmen zu lassen, ohne Generics (die ständigen <Byte> nerven)
Müsste doch gehn, oder?
Sonst hab ich ja nicht viel gekonnt im Vergleich zu:
function Read(addres:Cardinal; var X; count:Cardinal):Boolean;
delfiphan - So 29.08.10 19:16
Nein ohne Generics kannst du das nicht herausfinden. Da wird praktisch nur ein Pointer übergeben.
Bei Generics musst du den Typ nicht explizit angeben, wenn der klar ist (ausser bei Var/Out/Return :(). Käme bei dir also höchstens für das Write in Frage.
// Edit: sorry paar mal editiert :)
Flamefire - So 29.08.10 19:36
Dumm gelöst. Generics werden doch eh vom Compiler übersetzt. Und besonders bei Var Paramtern sollte der das doch machen >.<
EDIT: Noch dümmer: Der Live-Syntaxcheck kann anscheinend keine Generics (D2009)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!