以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  usbkey 测试出现的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78165)

--  作者:sloyy
--  发布时间:2015/12/3 13:45:00
--  usbkey 测试出现的问题
我在vs2010上测试没有问题

图片点击可在新窗口打开查看此主题相关图片如下:test.jpg
图片点击可在新窗口打开查看

照搬到foxtable上测试,结果出问题了

图片点击可在新窗口打开查看此主题相关图片如下:test2.jpg
图片点击可在新窗口打开查看

项目见附件  安装usb驱动后,自动注册com控件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:usbkey测试.zip

请哪位大神帮看看 同样的代码,为什么会出现不同的结果?




--  作者:大红袍
--  发布时间:2015/12/3 14:17:00
--  

1、dll文件拷贝到foxtable安装目录下;

 

2、上传的例子,不知道你要表达什么;

 

3、如果是非托管dll,你要foxtable把dll引用。


--  作者:sloyy
--  发布时间:2015/12/3 20:36:00
--  
我上传的例子就是说同样的代码,点击 button1,在foxtable就出错,在vs2010里没有问题
--  作者:sloyy
--  发布时间:2015/12/3 20:45:00
--  
出现错误提示:无法在 DLL“SafeEnginecom.dll”中找到名为“SEH_InitialSession”的入口点。
--  作者:大红袍
--  发布时间:2015/12/3 21:08:00
--  

1、你在vs里面是否有引用dll?如果引用了,在项目的debug目录下,会有xxx.dll的文件,那在foxtable也引用一下;

 

2、你把dll文件拷贝到foxtable安装目录下了吗?


--  作者:sloyy
--  发布时间:2015/12/4 8:52:00
--  
1 vs里引用了SafeEnginecom.dll 生成了  " Interop.SAFEENGINECOMLib.dll",在foxtable里也也引用了

SafeEnginecom.dll 已拷贝到foxtable安装目录下,但是他是一个标准的com控件,不能引用
还有那些要注意的问题吗?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:interop.safeenginecomlib.zip



--  作者:大红袍
--  发布时间:2015/12/4 9:22:00
--  

1、你vs选择的.net framework版本是什么,尽量用 .net 2.0,生成的 interop.safeenginecomlib.dll 直接在foxtable里引用。

 

2、如果引用了dll,是不需要,再声明函数的。你1楼的代码,第一行就是多余的。


--  作者:sloyy
--  发布时间:2015/12/4 9:44:00
--  
谢谢大红袍老师,终于搞定了,而且我发现我犯了个错误,害了大红袍老师,否则早搞定了:上传的项目是错误的!
这条意见起了关键性的作用:

1、你在vs里面是否有引用dll?如果引用了,在项目的debug目录下,会有xxx.dll的文件,那在foxtable也引用一下;

 

2、你把dll文件拷贝到foxtable安装目录下了吗?


我把vs生成的dll 引用了一下,出现了另一个错误: "生成此程序集的运行时比当前加载的运行时新,无法加载此程序集 ”


百度了一下,发现是.net版本不同,vs里面我用的是4.0  换成2.0  运行了一遍,生成新的dll   复制到foxtable 引用了一下,问题解决.


另外问一下:      "如果引用了dll,是不需要,再声明函数的。"   我看帮助文件,纯COM 文件是不需要引用的呀,那么问题来了,我什么时候需要引用?什么时候不需要引用?







--  作者:大红袍
--  发布时间:2015/12/4 9:51:00
--  

如果你加上了 interop.safeenginecomlib.dll 就不需要再引用了,vs已经帮你处理到dll里面了,你只直接写代码就行了。

 

如果没有引用dll,你是必须声明函数,才能调用的。