如何将C/C++程序转译成Delphi(七)
2006-02-04 13:31:51 来源:WEB开发网核心提示:Here is a real-world example from the winnt.h, which is not possible to translate to a native enumerated type: Start Type//#define SERVICE_BOOT_START
Here is a real-world example from the winnt.h, which is not possible to translate to a native enumerated type:
//// Start Type//#define SERVICE_BOOT_START 0x00000000#define SERVICE_SYSTEM_START 0x00000001#define SERVICE_AUTO_START 0x00000002#define SERVICE_DEMAND_START 0x00000003#define SERVICE_DISABLED 0x00000004//////typedef enum _CM_SERVICE_LOAD_TYPE { BootLoad = SERVICE_BOOT_START, SystemLoad = SERVICE_SYSTEM_START, AutoLoad = SERVICE_AUTO_START, DemandLoad = SERVICE_DEMAND_START, DisableLoad = SERVICE_DISABLED} SERVICE_LOAD_TYPE;
The ordinal values of the items in the enumeration SERVICE_LOAD_TYPE depend on the constants declared above it. This is not possible in Delphi. The only way to translate it is:
//// Start Type//CONST SERVICE_BOOT_START = $00000000; SERVICE_SYSTEM_START = $00000001; SERVICE_AUTO_START = $00000002; SERVICE_DEMAND_START = $00000003; SERVICE_DISABLED = $00000004; // // //CONST BootLoad = SERVICE_BOOT_START; SystemLoad = SERVICE_SYSTEM_START; AutoLoad = SERVICE_AUTO_START; DemandLoad = SERVICE_DEMAND_START; DisableLoad = SERVICE_DISABLED;TYPE TServiceLoadType = DWord;
Back to contents
更多精彩
赞助商链接