DLL 与string 类型的问题(50分)

  • 主题发起人 主题发起人 lihongguang
  • 开始时间 开始时间
L

lihongguang

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
问题(1) 对dll 的函数传入的参数可以是string 类型,ShareMem 不加也行
我实验过没问题, (是真没问题吗?)
问题(2) 返回值若是string类型,则出错!按编制dll时delphi的解释 在dll 的文件uses
第一项我加了ShareMem,在调用的单元中我也 uses 第一项我加了ShareMem, 能运行了!
但程序结束时,仍有‘...invalid pointer operation...’的错误提示!!
请大虾们解释解释
 
建议用shortstring,而不要用string
 
to lihongguang
最好不要用string 而用PChar。在编译器中不会出问题
但是离开编译器后就会出现缺少一个borlndmm.dll。
 
建议用PChar()
 
我知道用 PChar 行 ,我只是想明白为何 有 string 问题多多? borland 就没想办法吗?
 
可能是因为string不是以null('/0')结束的原因吧。
而PChar是以/0结束。
最终走向MS的东西。你不想怎么样呢?
另外string是内存自动管理。这也可能是一个主要原因。具体我就不清楚。再去看吧。
有结果也请告诉我。
 
用pchar 吧!
 
后退
顶部