主题:  高手帮帮忙吧。调用dll的问题。

我头晕

职务:普通成员
等级:1
金币:0.0
发贴:4
#12002/3/27 15:12:35
用c写了一个dll,目的是向authorware传回一个字符串儿。
字符串儿是dll中分配内存(malloc函数)后再赋值得到的。
然后我传回了地址,可是authorware说的传回handle已经invalid了,为什么呢?

另外,我的dll函数大概如下:
__declspec(dllexport) char * RtnStr(void)
{
char * p;
p = (char *)malloc(100 * sizeof(char))
//给p赋值。
return p;
}
这种在堆分配的内存不应该会无效吧?
在authorware中,返回类型设成string,怎么都不行。请帮忙,谢谢。



与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
#22002/3/27 17:47:35
用memtools.u32中的内存处理函数,可以以字符串形式返回值。



我头晕

职务:普通成员
等级:1
金币:0.0
发贴:4
#32002/3/28 8:44:59
问题是字符串儿要在dll中经过其他一系列操作才能生成,用那个u32可以吗?