如何从VC返回一个字符串给 vfp
编号:QA002893
建立日期: 2000年4月26日 最后修改日期:2000年4月26日
所属类别:
浩仔:
操作系统: win98/nt
编程工具: vc, vfp
问题: 你好:
我现在遇到一个问题, 就是 vfp 与 dll 的接口? 我的dll 是处理来自 vfp 中的两个字符串,将其中处理后也要返回一个字符串给 vfp , 但因为 c 是不能返回一个数组 的,而只返回一个指向该数组头的指针, 这要我如何提交结果很烦恼!vfp 又没指针, 搞“共享内存”。。。不知道怎样用?而我的dll 是其他模块的关键, 要早出来, 我很为难。。。。
回答:
直接传递指针返回VFP是不行的。你可以将该C语言函数改为4个参数。两个参数是你传递给DLL的字符串。另两个参数是储存结果的字符串缓冲区和该字符串缓冲区的长度(第4个参数主要是为了安全,可选)。你在C语言中把结果写入第三个参数指明的字符串缓冲区。为了保证字符串缓冲区有足够的空间,在调用前使用Space函数分配足够的空间,如: s = Space(256)
此问题由李海回答。
| |
|
|
| |
|
|