如何将C/C++程序转译成Delphi(七)
2001-07-24 13:30
429 查看
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
// 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
相关文章推荐
- 如何将C/C++程序转译成Delphi(十)
- 如何将C/C++程序转译成Delphi(十一)
- 如何将C/C++程序转译成Delphi(十二)
- 如何将C/C++程序转译成Delphi(十三)
- 如何将C/C++程序转译成Delphi(十五)
- C++ 程序如何转成 delphi
- 如何将C/C++程序转译成Delphi(十四)
- 如何将C/C++程序转译成Delphi
- 如何将C/C++程序转译成Delphi
- 如何将C/C++程序转译成Delphi(二)
- 如何将C/C++程序转译成Delphi(三)
- 如何将C/C++程序转译成Delphi(三)
- 如何将C/C++程序转译成Delphi(五)
- 如何将C/C++程序转译成Delphi(四)
- 如何将C/C++程序转译成Delphi(六)
- 如何将C/C++程序转译成Delphi(五)
- 如何将C/C++程序转译成Delphi(八)
- 如何将C/C++程序转译成Delphi(九)
- 如何在C++中调用C程序
- c++如何让程序只启动一个实例