sca*_*iin 8 .net c# delphi 32bit-64bit
我遇到了问题,我从昨天开始尝试解决它,但没有运气.我有32位delphi dll,我想在.NET Win应用程序中导入.此应用程序必须基于任何CPU模式构建.当然,还有BadImageFormatException即将到来,这意味着在x64应用程序中无法加载x86 dll ..我用Google搜索并找到解决方案,它说我必须做包装,但对我来说并不清楚.任何人都可以告诉如何解决这个问题,有没有可能的方法我可以在程序建立任何CPU或x64模式(可能是另一种解决方案)中导入32位Delphi dll.
ang*_*son 14
您需要做的是在32位进程中编写一个承载32位DLL文件的包装器应用程序.
然后,您的64位应用程序必须通过网络方式与此32位进程通信,或通过COM对象或类似方式使DLL函数可用.
你不能在64位进程中运行32位的DLL,不管你怎么努力,所以你需要在32位进程运行.
如果仅为32位编译应用程序不是一个选项,则除了创建宿主应用程序之外别无选择.
一般的想法可能是使用托管的32位包装器dll包装您的(非托管)32位DLL并使其可见COM.这允许通过其COM接口调用包装器DLL.
您可以使用COM代理来使您的COM DLL显示为进程外COM服务器.请查看此SO问题以获取有关此主题的更多信息:从x64 .NET访问x86 COM.
| 归档时间: |
|
| 查看次数: |
32114 次 |
| 最近记录: |