Home > Back-end >  Helps a ~ ~ ~ ~ ~ ~ C code conversion delphiXE grammar
Helps a ~ ~ ~ ~ ~ ~ C code conversion delphiXE grammar

Time:09-19

Using c + + compiler VS2013, code is as follows:
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
c + +Typedef enum
{
A=0,
B=1,
} RegMode;

Int setRegMode (RegMode mode)
{
Return setProperty (1, mode);
}

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:

SetProperty (1, mode);
Generated 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...
  • Related