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();
    NativeInt __fastcall ToInteger();
    /* static */ __property TPtrWrapper NilValue = {read=GetNilValue};
#ifndef _WIN64
    static bool __fastcall _op_Equality(TPtrWrapper Left, TPtrWrapper Right);
#else /* _WIN64 */
    static bool __fastcall _op_Equality(const TPtrWrapper &Left, const TPtrWrapper &Right);
#endif /* _WIN64 */
    bool __fastcall operator==(const TPtrWrapper& __rhs) { return TPtrWrapper::_op_Equality(*this, __rhs); };
#ifndef _WIN64
    static bool __fastcall _op_Inequality(TPtrWrapper Left, TPtrWrapper Right);
#else /* _WIN64 */
    static bool __fastcall _op_Inequality(const TPtrWrapper &Left, const TPtrWrapper &Right);
#endif /* _WIN64 */
    bool __fastcall operator!=(const TPtrWrapper& __rhs) { return TPtrWrapper::_op_Inequality(*this, __rhs); };
    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.