vc语言下的头文件内容:#ifndef CXK_CTRLH
#define CXK_CTRLH
//---------------------------------------------------------------------------typedef struct
{
char CPMC [50] ; // 厂牌名称
char CX [50] ; // 型号
char LX [50] ; // 类型
char GB [50] ; // 国别
char SCCJ [50] ; // 生产厂家
char CXXL [50] ; // 车型系列
char CYS [50] ; // 乘员数
char ZZL [50] ; // 总质量
char ZBZL [50] ; // 整备质量
char LTGG [50] ; // 轮胎规格
char ZGCS [50] ; // 最高车速
char DZ [50] ; // 灯制
char DK [50] ; // 灯宽
char DG [50] ; // 灯高
char QDXS [50] ; // 驱动型式
char ZS [50] ; // 轴数
char QDZ [50] ; // 驱动轴
char ZCZ [50] ; // 驻车轴
char FXPZJ [50] ; // 方向盘直径
char QSSX [50] ; // 前束上限
char QSXX [50] ; // 前束下限
char CLWQJSX [50] ; // 车轮外倾角上限
char CLWQJXX [50] ; // 车轮外倾角下限
char ZXNQJSX [50] ; // 主销内倾角上限
char ZXNQJXX [50] ; // 主销内倾角下限
char ZXHQJSX [50] ; // 主销后倾角上限
char ZXHQJXX [50] ; // 主销后倾角下限
char WCZXJSX [50] ; // 外侧转向角上限
char WCZXJXX [50] ; // 外侧转向角下限
char NCZXJSX [50] ; // 内侧转向角上限
char NCZXJXX [50] ; // 内侧转向角下限
char SFDP [50] ; // 是否电喷
char SFABS [50] ; // 是否ABS
char ZDFS [50] ; // 制动方式
char SFDLXG [50] ; // 是否独立悬挂
char ZCCD [50] ; // 车身长度
char ZCKD [50] ; // 车身宽度
char ZCGD [50] ; // 车身高度
char ZJ [50] ; // 轴距 //------------------发动机-------------
char ZZCS [50] ; // 制造厂商
char FDJXH [50] ; // 发动机型号
char GS [50] ; // 缸数
char RLZL [50] ; // 燃料种类
char DHFS [50] ; // 点火方式
char EDNJ [50] ; // 额定扭矩
char EDNJZS [50] ; // 额定扭矩转速
char EDGL [50] ; // 额定功率
char EDGLZS [50] ; // 额定功率转速
char DHSX [50] ; // 点火顺序
char QDDY [50] ; // 启动电压
char QDDL [50] ; // 启动电流
char QDZS [50] ; // 启动转速
char CDDY [50] ; // 充电电压
char CDDL [50] ; // 充电电流
char QGYL [50] ; // 汽缸压力
char DSZS [50] ; // 怠速转速
char TQJ [50] ; // 提前角
char BHJ [50] ; // 闭合角
char CDJ [50] ; // 重叠角
char DHGY [50] ; // 点火高压
char JYYLSX [50] ; // 机油压力上限
char JYYLXX [50] ; // 机油压力下限
char EDYH [50] ; // 额定油耗
char PL [50] ; // 排量
char DSZKD [50] ; // 怠速真空度
}_CarTypesStruct_HN; extern "C" bool _stdcall OpenDataBase (HWND hMainWnd); //打开数据源 返回true 成功 返回false 失败
extern "C" bool _stdcall ClosDataBase (HWND hMainWnd); //关闭数据源 返回true 成功 返回false 失败
extern "C" bool _stdcall UpdateCarTypes (HWND hMainWnd); //更新车型数据//两种联网方式
//----------------1弹出选择窗体-----------------------------
extern "C" bool _stdcall ChoiceCarTypes (HWND hMainWnd,_CarTypesStruct_HN & CarTypesStruct); //查询车型数据 返回true 成功 返回false 失败 //c++用
extern "C" bool _stdcall ChoiceCarTypes_ByVB(HWND hMainWnd,char * CarTypesStruct); //查询车型数据 返回true 成功 返回false 失败 //de / vb用
//---------------------2字符串操作---------------------------
extern "C" bool _stdcall GetCPMC_List (HWND hMainWnd,char * CPMC_List); //参数(返回参数“厂牌列表”)返回true 成功 返回false 失败
extern "C" bool _stdcall GetCX_List (HWND hMainWnd,char * CPMC,char * CX_List); //参数( 厂牌 ,返回参数“车型列表”)返回true 成功 返回false 失败
extern "C" bool _stdcall GetFDJXH_List (HWND hMainWnd,char * CX,char * FDJXH_List); //参数( 车型,返回参数“发动机列表”)返回true 成功 返回false 失败
extern "C" bool _stdcall GetCar_InfoStr (HWND hMainWnd,char * CX,char * FDJXH,char * CarTypesStruct); //参数(车型,发动机,返回数据列表) 返回true 成功 返回false 失败
extern "C" bool _stdcall GetCar_InfoStruct(HWND hMainWnd,char * CX,char * FDJXH,_CarTypesStruct_HN & CarTypesStruct);//参数(车型,发动机,返回数据结构) 返回true 成功 返回false 失败
//-----------------------------------------------------------#endif请问 :
我现在需要调用三个方法分别是:
OpenDataBase
ChoiceCarTypes_ByVB
ClosDataBase
在delphi下怎么声明和使用
我的声明如下:
unit calldll;
interface
function ChoiceCarTypes(hMainWnd:HWND ,@CarTypesStruct:_CarTypesStruct_HN):Boolean; stdcall;
function OpenDataBase(hMainWnd:HWND):Boolean; stdcall;
function ClosDataBase(hMainWnd:HWND):Boolean; stdcall;implementation
function ChoiceCarTypes;external 'CXK.dll' name 'ChoiceCarTypes';
function OpenDataBase;external 'CXK.dll' name 'OpenDataBase';
function ClosDataBase;external 'CXK.dll' name 'ClosDataBase';
end.
我这样声明对不对.谢谢!!!!!!
#define CXK_CTRLH
//---------------------------------------------------------------------------typedef struct
{
char CPMC [50] ; // 厂牌名称
char CX [50] ; // 型号
char LX [50] ; // 类型
char GB [50] ; // 国别
char SCCJ [50] ; // 生产厂家
char CXXL [50] ; // 车型系列
char CYS [50] ; // 乘员数
char ZZL [50] ; // 总质量
char ZBZL [50] ; // 整备质量
char LTGG [50] ; // 轮胎规格
char ZGCS [50] ; // 最高车速
char DZ [50] ; // 灯制
char DK [50] ; // 灯宽
char DG [50] ; // 灯高
char QDXS [50] ; // 驱动型式
char ZS [50] ; // 轴数
char QDZ [50] ; // 驱动轴
char ZCZ [50] ; // 驻车轴
char FXPZJ [50] ; // 方向盘直径
char QSSX [50] ; // 前束上限
char QSXX [50] ; // 前束下限
char CLWQJSX [50] ; // 车轮外倾角上限
char CLWQJXX [50] ; // 车轮外倾角下限
char ZXNQJSX [50] ; // 主销内倾角上限
char ZXNQJXX [50] ; // 主销内倾角下限
char ZXHQJSX [50] ; // 主销后倾角上限
char ZXHQJXX [50] ; // 主销后倾角下限
char WCZXJSX [50] ; // 外侧转向角上限
char WCZXJXX [50] ; // 外侧转向角下限
char NCZXJSX [50] ; // 内侧转向角上限
char NCZXJXX [50] ; // 内侧转向角下限
char SFDP [50] ; // 是否电喷
char SFABS [50] ; // 是否ABS
char ZDFS [50] ; // 制动方式
char SFDLXG [50] ; // 是否独立悬挂
char ZCCD [50] ; // 车身长度
char ZCKD [50] ; // 车身宽度
char ZCGD [50] ; // 车身高度
char ZJ [50] ; // 轴距 //------------------发动机-------------
char ZZCS [50] ; // 制造厂商
char FDJXH [50] ; // 发动机型号
char GS [50] ; // 缸数
char RLZL [50] ; // 燃料种类
char DHFS [50] ; // 点火方式
char EDNJ [50] ; // 额定扭矩
char EDNJZS [50] ; // 额定扭矩转速
char EDGL [50] ; // 额定功率
char EDGLZS [50] ; // 额定功率转速
char DHSX [50] ; // 点火顺序
char QDDY [50] ; // 启动电压
char QDDL [50] ; // 启动电流
char QDZS [50] ; // 启动转速
char CDDY [50] ; // 充电电压
char CDDL [50] ; // 充电电流
char QGYL [50] ; // 汽缸压力
char DSZS [50] ; // 怠速转速
char TQJ [50] ; // 提前角
char BHJ [50] ; // 闭合角
char CDJ [50] ; // 重叠角
char DHGY [50] ; // 点火高压
char JYYLSX [50] ; // 机油压力上限
char JYYLXX [50] ; // 机油压力下限
char EDYH [50] ; // 额定油耗
char PL [50] ; // 排量
char DSZKD [50] ; // 怠速真空度
}_CarTypesStruct_HN; extern "C" bool _stdcall OpenDataBase (HWND hMainWnd); //打开数据源 返回true 成功 返回false 失败
extern "C" bool _stdcall ClosDataBase (HWND hMainWnd); //关闭数据源 返回true 成功 返回false 失败
extern "C" bool _stdcall UpdateCarTypes (HWND hMainWnd); //更新车型数据//两种联网方式
//----------------1弹出选择窗体-----------------------------
extern "C" bool _stdcall ChoiceCarTypes (HWND hMainWnd,_CarTypesStruct_HN & CarTypesStruct); //查询车型数据 返回true 成功 返回false 失败 //c++用
extern "C" bool _stdcall ChoiceCarTypes_ByVB(HWND hMainWnd,char * CarTypesStruct); //查询车型数据 返回true 成功 返回false 失败 //de / vb用
//---------------------2字符串操作---------------------------
extern "C" bool _stdcall GetCPMC_List (HWND hMainWnd,char * CPMC_List); //参数(返回参数“厂牌列表”)返回true 成功 返回false 失败
extern "C" bool _stdcall GetCX_List (HWND hMainWnd,char * CPMC,char * CX_List); //参数( 厂牌 ,返回参数“车型列表”)返回true 成功 返回false 失败
extern "C" bool _stdcall GetFDJXH_List (HWND hMainWnd,char * CX,char * FDJXH_List); //参数( 车型,返回参数“发动机列表”)返回true 成功 返回false 失败
extern "C" bool _stdcall GetCar_InfoStr (HWND hMainWnd,char * CX,char * FDJXH,char * CarTypesStruct); //参数(车型,发动机,返回数据列表) 返回true 成功 返回false 失败
extern "C" bool _stdcall GetCar_InfoStruct(HWND hMainWnd,char * CX,char * FDJXH,_CarTypesStruct_HN & CarTypesStruct);//参数(车型,发动机,返回数据结构) 返回true 成功 返回false 失败
//-----------------------------------------------------------#endif请问 :
我现在需要调用三个方法分别是:
OpenDataBase
ChoiceCarTypes_ByVB
ClosDataBase
在delphi下怎么声明和使用
我的声明如下:
unit calldll;
interface
function ChoiceCarTypes(hMainWnd:HWND ,@CarTypesStruct:_CarTypesStruct_HN):Boolean; stdcall;
function OpenDataBase(hMainWnd:HWND):Boolean; stdcall;
function ClosDataBase(hMainWnd:HWND):Boolean; stdcall;implementation
function ChoiceCarTypes;external 'CXK.dll' name 'ChoiceCarTypes';
function OpenDataBase;external 'CXK.dll' name 'OpenDataBase';
function ClosDataBase;external 'CXK.dll' name 'ClosDataBase';
end.
我这样声明对不对.谢谢!!!!!!
_CarTypesStruct_HN = record
CPMC : array[0..49] of Char; //厂牌名称
CX : array[0..49] of Char; //型号
//......
end;function ChoiceCarTypes(hMainWnd:HWND; var CarTypesStruct:_CarTypesStruct_HN):Boolean; stdcall;
external 'CXK.dll' name 'ChoiceCarTypes';
function OpenDataBase(hMainWnd:HWND):Boolean; stdcall; external 'CXK.dll' name 'OpenDataBase';
function ClosDataBase(hMainWnd:HWND):Boolean; stdcall; external 'CXK.dll' name 'ClosDataBase';implementation
//DLL函数申明可以在Interface部分完成, 没必须写成Interface和Implementation两部分
end.