L lovellybaby Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-05 #1 根据Borland说在Dll中导出的函数无论是参数还是返回类型涉及到指针引用的就要在单元的开头加上ShareMem,在部署时就要带上BorlandMM.dll文件。可是我在Dll导出函数时返回一个Record其中所有域都是String类型,可我并没有Uses ShareMem但是使用时并没有问题啊。这么回事呢?
根据Borland说在Dll中导出的函数无论是参数还是返回类型涉及到指针引用的就要在单元的开头加上ShareMem,在部署时就要带上BorlandMM.dll文件。可是我在Dll导出函数时返回一个Record其中所有域都是String类型,可我并没有Uses ShareMem但是使用时并没有问题啊。这么回事呢?
B Beyond2002 Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-05 #2 非delphi开发的程序调用该dll时问题较多
J jangill Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-05 #3 可能是你的记录结构中使用了STring类型的字段域, 所以发生该问题. 可以使用WideString类型吧.
H hhjjhhjj Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-05 #4 1用到Dll的单元和Dll都第一个引用ShareMem; 2如果Record不行,建议: Record该成这样: MyString := Tmstr1+char(10)+Tmstr2+char(10)+Tmstr3+Char(10)... 接收时用一个List:TStringList List.text := MyString; 这样 List.String[0] -> Tmstr1 list.String[1] -> Tmstr2 ...
1用到Dll的单元和Dll都第一个引用ShareMem; 2如果Record不行,建议: Record该成这样: MyString := Tmstr1+char(10)+Tmstr2+char(10)+Tmstr3+Char(10)... 接收时用一个List:TStringList List.text := MyString; 这样 List.String[0] -> Tmstr1 list.String[1] -> Tmstr2 ...