-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
c + +Typedef enum
{
A=0,
B=1,
} RegMode;
Int setRegMode (RegMode mode)
{
Return setProperty
}
The template & lt; The class T>
Int setProperty (int Id, const T& Value)
{
//int setPropertyMode (int Id, const void * data, int dataSize)
Return setPropertyMode (Id, & amp; The value of sizeof (T));
}
At the moment, I change the Delphi code is as follows:
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- the Delphi
RegMode=(a=0, b=1);
The function setRegMode (Mode: RegMode) : Integer;
The begin
//function setPropertyMode (Id: Integer; Const data: Pointer; DataSize: Integer) : Integer;
Result:=setPropertyMode (1, @ mode, SizeOf (mode));
end;
=====================================================
Note: I jumped over the setProperty functions, direct call setPropertyMode, finally failed, the c + + setProperty parameter passing in a confused, ask for help!
CodePudding user response:
SetPropertyGenerated by a specialized function is:
Int setProperty (int Id, const RegMode& Value)
{
Return setPropertyMode (Id, & amp; The value of sizeof (RegMode));
}
From the//int setPropertyMode (int Id, const void * data, int dataSize), may be to write a value Id value,
For Delphi, need to use {$Z4} compiler switches to ensure enumerated constants for size 4 bytes, and the same integer,
CodePudding user response:
Pay attention to...