Delphi 开发Dll供别的开发工具调用时特别要注意数据类型是否匹配。在Delphi中使用string 、ansistring等类型做为函数的变量时一定要使用delphi的内存管理,即uses sharemem单元。不建议采用string类型做为参数,建议字符串类型的变量都采用pchar类型,widesting等类型别的开发工具(PB等)不一定能匹配。
Function GetPatientInfo(medinum,patientid:pchar;family_no,member_no:pchar):integer;stdcall; 这个函数的前两个为传入的参数,后两个为传出参数,均采用pchar类型。
在PB中调用方法为先定义 Function Long GetPatientInfo(string medinum,string patientid, ref string family_no ,ref string member_no) library "Project1.dll" ,在程序调用函数前,先要为定义的变量分配内存空间
string ls_family_no ls_family_no = space(50)
Function GetPatientInfo(medinum,patientid:pchar;family_no,member_no:pchar):integer;stdcall; 这个函数的前两个为传入的参数,后两个为传出参数,均采用pchar类型。
在PB中调用方法为先定义 Function Long GetPatientInfo(string medinum,string patientid, ref string family_no ,ref string member_no) library "Project1.dll" ,在程序调用函数前,先要为定义的变量分配内存空间
string ls_family_no ls_family_no = space(50)