System.TPtrWrapper
Delphi
TPtrWrapper = record
private
Value: PByte;
class function GetNilValue: TPtrWrapper; inline; static;
public
constructor Create(AValue: NativeInt); overload;
constructor Create(AValue: Pointer); overload;
function ToPointer: Pointer;
function ToInteger: NativeInt;
class property NilValue: TPtrWrapper read GetNilValue;
class operator Equal(Left, Right: TPtrWrapper): Boolean;
class operator NotEqual(Left, Right: TPtrWrapper): Boolean;
end;
C++
struct DECLSPEC_DRECORD TPtrWrapper
{
private:
Byte *Value;
static TPtrWrapper __fastcall GetNilValue();
public:
__fastcall TPtrWrapper(NativeInt AValue)/* overload */;
__fastcall TPtrWrapper(void * AValue)/* overload */;
void * __fastcall ToPointer(void);
NativeInt __fastcall ToInteger(void);
/* static */ __property TPtrWrapper NilValue = {read=GetNilValue};
static bool __fastcall _op_Equality(TPtrWrapper Left, TPtrWrapper Right);
static bool __fastcall _op_Inequality(TPtrWrapper Left, TPtrWrapper Right);
TPtrWrapper() {}
};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
record struct |
public | System.pas System.hpp |
System | System |
Beschreibung
TPtrWrapper ist ein Wert in Zeigergröße, der einen Zeiger repräsentiert.
TPtrWrapper hat dieselbe Größe wie ein Zeiger. TPtrWrapper kann in einer API-Deklaration anstelle eines Zeigers zur Vermeidung von Typumwandlungen verwendet werden.
Dieser gekapselte Zeiger wird beim Marshalling verwendet, das von den Low-Level-TMarshal und den High-Level-TMarshaller-APIs vorgenommen wird.