高手来看看,线登急

Beginner_xingyun 2006-11-01 10:41:24
有一个DLL文件里有这么一个函数:ERRCODE jSetSerialNo(const char * pcszSerialNo)
这个函数返回二种值,正确的话为ERR_NONE,错误的话为ERR_SECURITY
我想在C#中使用该函数代码如下:
[DllImport("j_MA.dll")]
public static extern string jSetSerialNo(string pcszSerialNo);
jSetSerialNo(textBox7.Text);
可我这里如果正确则返回空值,不正确程序就会出错,怎么才能像原始程序一样有两种返回值怎么获得呢?
我转换成string类型对吗?为什么会和源程序不一样的结果呢?得不到其他字符串结果
...全文
96 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
周公 2006-11-01
  • 打赏
  • 举报
回复
ERR_NONE 如果是整数宏定义:
public static extern int jSetSerialNo(string pcszSerialNo);

正解。
Beginner_xingyun 2006-11-01
  • 打赏
  • 举报
回复
好像是枚举
zhangzengping 2006-11-01
  • 打赏
  • 举报
回复
up 以下, 我做过,现在忘了!

参数有 : string类, char[] 类 unsafe * 指针类!

有一个会成功, 我记忆就是 string | char[].

你做试试吧, 不是到返回类型是什么 : 一般是 bool b =jSetSerialNo(textBox7.Text);

if(b)... ; else ... ;

JasonHeung 2006-11-01
  • 打赏
  • 举报
回复
ERR_NONE 如果是整数宏定义:
public static extern int jSetSerialNo(string pcszSerialNo);
Knight94 2006-11-01
  • 打赏
  • 举报
回复
你的ERR_NONE和ERR_SECURITY的值是枚举,还是字符串,还是其他
相关推荐
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-11-01 10:41
社区公告

让您成为最强悍的C#开发者