大家帮忙看看简单问题

Beginner_xingyun 2006-11-01 09:20:27
有一个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);
可我这里如果正确则返回空值,不正确程序就会出错,怎么才能像原始程序一样有两种返回值怎么获得呢?



...全文
123 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Beginner_xingyun 2006-11-01
  • 打赏
  • 举报
回复
可我转换成string类型对吗?为什么会和源程序不一样的结果呢?得不到其他字符串结果
江城老温 2006-11-01
  • 打赏
  • 举报
回复
ERRCODE 应该是自定义的类型。还得在dll里找
Beginner_xingyun 2006-11-01
  • 打赏
  • 举报
回复
正确的话是空值,不正确的话根本不会返回值, 程序就会报错。程序代码转换有问题吗?原先函数的类型是ERRCODE,这是什么类型?怎么转换呢?
oolongTea 2006-11-01
  • 打赏
  • 举报
回复
那你再加个判断
if(jSetSerialNo(textBox7.Text) == null)
{
则正确
}
else
{
则错误
}

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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