Delphi中的程序应该如何传递一个字符串数组给VC的程序?(200分)

  • 主题发起人 主题发起人 qzq
  • 开始时间 开始时间
Q

qzq

Unregistered / Unconfirmed
GUEST, unregistred user!
Variant可行吗?
好像Delphi和VC的Variant类型是不同的。
那位有类似经验,将不吝赐教。
 
你是指PChar吗?
 
试试PChar。
 
你看这里吧 jame分别演示用wm_copydata和共享内存来实现您的问题
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=348257
还有another_eye的
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=337578
 
Variant不行,因为C语言其实不支持字符串!
(C语言中的字符串就是一个以0结尾的char数组,其它元素还不能为0!)

只要把Delphi字符串用Copy(YourStr,1,Length(YourStr))函数复制到一个缓冲区中,
再在末尾加一个0,就可以发给VC了。
 
同意creation-zy的观点。
如果仅仅是要delphi开发的动态链接库给VC调用,那就把String都改成PChar就行了。
也可以强制typecast。
 
用动态链接库吧,用pchar。
 
我自己解决了,用VC中的SafeArrayAccessData搞定。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部