如何让DLL返回通用的字符串数据?

triout 2003-07-19 09:20:39
在DLL中定义了一个接口函数,要求该函数能被任何语言调用,同时,该函数要返回一个字符串数据,该如何实现?
...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rediori 2003-07-22
  • 打赏
  • 举报
回复
应该用 BSTR* , 返回UNICODE, 另外你的涵数有错,不能使用堆栈char myDescribe[100];,应该用堆动态分配内存,调用的程序负责释放。建议你看看COM接口方面的书籍.
daview 2003-07-22
  • 打赏
  • 举报
回复
已经使用LPSTR*解决。
但再VB中还是不行。
triout 2003-07-20
  • 打赏
  • 举报
回复
up
szclm 2003-07-19
  • 打赏
  • 举报
回复
在被调用的函数中传为一个地址变量就行啦!例如:

//外部调用描述信息
extern "C"
__declspec(dllexport) void Describe( char *pszBuf );


在调用时:
//Dll中的Describe函数
typedef void (* pCtrlDllGetDescribe) ( char* );
hModule = LoadLibrary( "mydll.dll" );
pGetDescribe = ( pCtrlDllGetDescribe)GetProcAddress(hModule,"Describe");
char myDescribe[100];
(*pGetDescribe )( myDescribe );

myDescribe 就是从Dll中返回的字符串

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧