Foxtable(狐表)用户栏目专家坐堂 → 关于FT运行在64位CPU的问题


  共有2914人关注过本帖树形打印复制链接

主题:关于FT运行在64位CPU的问题

帅哥哟,离线,有人找我吗?
深呼吸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:19 积分:240 威望:0 精华:0 注册:2015/7/7 23:26:00
关于FT运行在64位CPU的问题  发帖心情 Post By:2015/9/21 22:58:00 [只看该作者]

各位大神晚上好,
请教一个问题。

先说一下我的运行环境,操作系统是windows 8.1 X64. Foxtable 开发版。
程序架构是这样的。

我用.net 封装了一个类库x.dll, 编译平台ANY CPU。 
x.dll 需要依赖一个第三方的win32 动态库 y.dll 这个动态库需要严格区分操作系统,也就是说64位平台无法运行32位的库,反之亦然。

我用FT的程序 引用了类库x.dll. 
在需要调用第三方类库api函数时 x64 x86 的第三方分别会爆出以下错误。

但是同样的代码 如果使用 .net写的测试程序则一切正常。
也就是说如果使用FT 加载库 会强制当前运行环境为X86, 因为如果使用X64会提示格式错误。 但是X86的第三方库又不能运行在 我的64位操作系统上。
除非我改操作系统为32位。显然我不愿意这样做。

求各位高人指点指点。有没有什么解决办法


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

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


[此贴子已经被作者于2015/9/21 23:07:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/21 23:12:00 [只看该作者]

1、.net类库设置成X86后编译x.dll;

 

2、在64位电脑注册32为的y.dll; 管理员权限

 

3、在foxtable里直接引用即可。


 回到顶部
帅哥哟,离线,有人找我吗?
深呼吸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:19 积分:240 威望:0 精华:0 注册:2015/7/7 23:26:00
  发帖心情 Post By:2015/9/21 23:19:00 [只看该作者]

谢谢大红袍,但那个win32的dll 无法用过regsvr32 注册 提示说找不到DllRegisterServer 入口。

 回到顶部
帅哥哟,离线,有人找我吗?
深呼吸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:19 积分:240 威望:0 精华:0 注册:2015/7/7 23:26:00
  发帖心情 Post By:2015/9/21 23:28:00 [只看该作者]

补充一下,那个第三方32位版本的库在X64系统下运行不正常,初始化5次失败4次居然还能成功一次。这样似乎没法用。可能光靠注册的办法不行。还有别的办法么?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 9:17:00 [只看该作者]

去搜索一下64位注册32位dll的方法。

 

http://www.baidu.com/baidu?wd=64%CE%BB%D7%A2%B2%E132%CE%BBdll&tn=monline_4_dg

 


 回到顶部
帅哥哟,离线,有人找我吗?
深呼吸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:19 积分:240 威望:0 精华:0 注册:2015/7/7 23:26:00
  发帖心情 Post By:2015/9/22 12:02:00 [只看该作者]

谢谢, 这个我实在不太懂. 注册了就能正常运行么? 我编译x86的.net 测试程序, 调那个库也是 System.AccessViolationException

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 12:07:00 [只看该作者]

你的这个错和dll无关,你的函数声明,肯定有问题。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 12:12:00 [只看该作者]

如果报这个错 badImageFormatException,就是要在同一平台编译

 回到顶部
帅哥哟,离线,有人找我吗?
深呼吸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:19 积分:240 威望:0 精华:0 注册:2015/7/7 23:26:00
  发帖心情 Post By:2015/9/22 14:45:00 [只看该作者]

badImageFormatException 我如果使用64位版本的的第三方库是会报这个错的. 但是32的库 总是有AccessViolationException. 

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 14:46:00 [只看该作者]

那没办法

 回到顶部