以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]Foxtable调用/引用VB6时代的dll,打开窗体提示“未知编译错误!” (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80372) |
||||
-- 作者:蓝才文百 -- 发布时间:2016/1/21 14:33:00 -- [求助]Foxtable调用/引用VB6时代的dll,打开窗体提示“未知编译错误!” 大家好!我是Foxtable的新手。最近在做一个和老系统结合的程序。 由于老系统源代码没有,老系统中涉及到一个加解密文本的dll,我需要调用这个dll,使用里面的加解密函数。 我的操作是: 在foxtable->管理项目->外部引用 中,调入了此dll。会出现如下问题: 1.保存重新打开后,打开所有窗体,都会提示“未知编译错误!”,删除这个dll引用就不会再提示,所以这样引用看来不行,也不知道有什么其他办法。 2.是否可以在“全局代码”中,用 declare 引用?如何使用?全局代码是否就是vb中的module(*.bas的全局代码库)? 谢谢!
|
||||
-- 作者:大红袍 -- 发布时间:2016/1/21 14:36:00 -- vb6的dll无法直接引用。
vb6的代码基本上可以拷贝过来,直接写在全局代码里就行,但个别代码有区别要改成vb.net的语法。 |
||||
-- 作者:大红袍 -- 发布时间:2016/1/21 14:38:00 -- 或者,你把dll发上来试试能否引用 |
||||
-- 作者:大红袍 -- 发布时间:2016/1/21 14:41:00 -- 1、在vs工具那里新建一个windows项目;
2、引用Com,然后加入控件;
3、在项目的debug目录下,找到 interop.xxx.dll,然后在foxtable里引用。
之后,你就可以直接调用里面的东西了。 |
||||
-- 作者:蓝才文百 -- 发布时间:2016/1/21 14:46:00 -- 在VB6中,引用此dll后,就可以在代码中使用: Private Sub Command1_Click()
Dim c as new PubClassModule.clsEncrypt msgbox "加密ABC:" & c.Encrypt("ABC") msgbox "解密代码:" & c.ReEncrypt(c.Encrypt("ABC")) End Sub 大概这样。x
|
||||
-- 作者:大红袍 -- 发布时间:2016/1/21 14:47:00 -- 2、3、4楼 |
||||
-- 作者:蓝才文百 -- 发布时间:2016/1/21 14:47:00 -- 忘记附件了。。。
|
||||
-- 作者:蓝才文百 -- 发布时间:2016/1/21 15:00:00 -- OK,谢谢版主解惑,我试试先,搞定再来分享结果。 |
||||
-- 作者:大红袍 -- 发布时间:2016/1/21 15:00:00 -- 你这个dll有问题。无法引用。你还不如直接把函数拷贝出来重写。
正常的步骤是这样
1、在vs工具那里新建一个windows项目;
2、把dll注册一下Regsvr32,引用Com,加入控件;
3、在项目的debug目录下,找到 interop.xxx.dll,然后在foxtable里引用。 |
||||
-- 作者:蓝才文百 -- 发布时间:2016/1/21 15:02:00 -- 没有此dll的源码,不然才不用dll,没办法,呵呵。 |