请看这个代码:
extern "C" __declspec(dllexport) char * __stdcall getStr(char * ddd)
{
char * ddaa="wwwwww"; return ddaa;
}
这样写,编译没有问题,但是,VB调用的时候返回的是空的。
VB代码如下:
Private Declare Function getStr Lib "dll2.dll" (ByVal variable As String) As String
Private Sub Command2_Click()
MsgBox getStr("sadfsad")
End Sub
用这个试了一下:
char * ddaa="wwwwww";
可能这句有问题,试试先为ddaa new一个空间,再给它赋值.
代码如下:
extern "C" __declspec(dllexport) char * __stdcall getStr(char * ddd)
{
char * ddaa=new char[6];
ddaa="wwwwww";
return ddaa;
}
还是不行!再试,用_tcscpy()赋值。
ddaa="wwwwww";
改为_tcscpy(ddaa, "wwwwww");
马上试一下。
成功!
分享到:
相关推荐
当通过对象指针调用虚函数时,会根据实际对象的类型动态决定调用哪个版本的函数。 ### 二、多选题 #### 1. 在 C 语言中 ,每个变量必须在使用前进行类型说明或定义,这样可以() - **选项**: - (A) 为变量赋初值 ...
- **D 、派生类名**:通过派生类名直接调用成员函数不会触发动态绑定。 **正确答案**:A ### 二、多选题 #### 1. 在 C 语言中 ,每个变量必须在使用前进行类型说明或定义,这样可以(). **选项解析**: - **(A)为...
- **解析**:虚函数的动态绑定是通过基类的指针或者引用调用时发生的。 ### 二、多选题 #### 1. 在C语言中,每个变量必须在使用前进行类型说明或定义,这样可以()。 - **选项**: - (A) 为变量赋初值 - (B) 规定该...
这一数据结构不是在有客户请求时动态分配的, 而是在最开始初始化时就已经分配 好的, 当有新客户请求到来时, 服务器搜索这一预先分配好的这些Session, 发现其中 有空闲则使用, 如果没有空闲就报告错误. 对于TS和CP(SP...
这一数据结构不是在有客户请求时动态分配的, 而是在最开始初始化时就已经分配 好的, 当有新客户请求到来时, 服务器搜索这一预先分配好的这些Session, 发现其中 有空闲则使用, 如果没有空闲就报告错误. 对于TS和CP...
varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...