用DELPHI做DLL,提示说最好不要用string来传递参数,说是会有兼容问题和内存管理问题。那现在有如下几个问题
1、如果函数不用string来作参数传递,那函数内部是否可以采用string呢?
2、如果不用string,用widestring来传递参数是否合适?
3、用widestring和用pchar有什么区别
1、如果函数不用string来作参数传递,那函数内部是否可以采用string呢?
2、如果不用string,用widestring来传递参数是否合适?
3、用widestring和用pchar有什么区别
解决方案 »
- 求两个图标:“前端显示”的两个图钉图标
- 键盘码
- 请问我这样写有什么错误吗,运行时候提示"Invalid parameter"?
- CoXMLHTTP30在哪个单元文件里?oReq := CoXMLHTTP30.Create; 这句为什么老出错?
- 这是为什么?
- 如何把一个Array of Char的动态数组转化为string类型?我用StrPas不行?!
- 咳咳!过年了,大家把还没有揭的帖子揭一下了!不要拖到下一年,这样不好!
- ADO立即模式和批模式的区别?
- 谁知道Access里Alter Table语句是什么格式??
- 请大家看看这段程序的毛病???
- 高分求支持HTTP代理控件 急 在线等
- 大家看看这个dll啊
有了几个结论
1、pchar -> string 使用pchar(string);
2、string-> pchar 使用strpas(pchar);好像一般情况下没有问题,但是,如果pchar做为参数传递给某个函数,函数获取了后,转换为string进行处理,再把处理结果转换为pchar返回,就会有问题啦。应该如何正确使用pchar和 string呢?包括在DLL中的使用。
得出几个结论:
1、在DLL传递参数要用PCHAR,
2、pchar -> string 要使用strpas(pchar)
3、string-> pchar 要使用pchar(string);但是,好像还是有问题啊。特别是在DLL里面,该如何解决啊。
發布時加入BorlandMM.dll