首页
论坛
新职位
搜索论坛
什么's new
新职位
新的个人资料帖子
最新活动
会员
目前的访客
新的个人资料帖子
搜索个人资料帖子
VB.NET社区
登录
登记
什么's new
搜索
搜索
仅搜索标题
经过:
新职位
搜索论坛
Menu
Log in
Register
安装应用
安装
首页
论坛
Visual Studio .NET
第三方/加载项
32位DLL导入到32位
您正在使用过期的浏览器。它可能无法正确显示此网站或其他网站。
您应该升级或使用
替代浏览器
.
回复主题
信息
<blockquote data-quote ="dve83" data-source="post: 1217" data-attributes="member: 6979"><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">Hello,</span></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">我有一个32位的Delphi编码DLL文件(简单DLL二进制-不是COM / OCX)。此DLL公开了某些使用方法。它不依赖某种运行时环境的Sharemem库(本机Windows DLL除外)。</span></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">我的Visual Studio是VS Express 2008(.Net 3.5),据我所知x86版本(也安装在程序文件x86中)</span></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">我有以下代码尝试将其库导入C#控制台应用程序(仅出于简化目的而使用控制台)。</span></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">Delphi声明/暴露函数具有以下声明</span></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">如您所见,它采用一个Integer值,并且只会显示一条包含接收值的消息。</span></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">Herewith my C# code</span></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'verdana'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'verdana'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'verdana'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">我收到以下错误</span></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span><span style="color: #666666"><span style="font-family: 'verdana'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'verdana'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'verdana'">试图加载格式错误的程序。 (来自HRESULT的异常:0x8007000B)</span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'">我还尝试了一个具有简单测试功能的COM对象,如下所示:</span></span></p><p></p><p><span style="color: #660066">Function</span><span style="color: #660066">TIQEntAPICom</span><span style="color: #666600">.</span><span style="color: #000000">IQ_API_Test</span><span style="color: #666600">(</span><span style="color: #000000">aValue</span><span style="color: #666600">:</span><span style="color: #660066">Integer</span><span style="color: #666600">):</span><span style="color: #000000"> HRESULT</span><span style="color: #666600">;</span><span style="color: #000088">begin</span><span style="color: #660066">ShowMessage</span><span style="color: #666600">(</span><span style="color: #008800">'Test With Value ['</span><span style="color: #666600">+</span><span style="color: #660066">IntToStr</span><span style="color: #666600">(</span><span style="color: #000000">aValue</span><span style="color: #666600">)</span><span style="color: #666600">+</span><span style="color: #008800">']'</span><span style="color: #666600">);</span><span style="color: #660066">Result</span><span style="color: #666600">:=</span><span style="color: #006666">0</span><span style="color: #666600">;</span><span style="color: #000088">end</span><span style="color: #666600">;</span><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'">我已实例化并调用了以下函数;</span></span></p><p></p><p><span style="color: #000000"> pIQEntAPICom</span><span style="color: #666600">.</span><span style="color: #660066">IQEntAPIComClass</span><span style="color: #000000"> F </span><span style="color: #666600">=</span><span style="color: #000088">new</span><span style="color: #000000"> pIQEntAPICom</span><span style="color: #666600">.</span><span style="color: #660066">IQEntAPIComClass</span><span style="color: #666600">();</span><span style="color: #000000"> F</span><span style="color: #666600">.</span><span style="color: #000000">IQ_API_Test</span><span style="color: #666600">(</span><span style="color: #006666">6</span><span style="color: #666600">);</span><span style="color: #666666"><span style="font-family: 'Segoe UI'">但是,当执行应用程序时,我得到</span></span></p><p></p><p><span style="color: #660066">Retrieving</span><span style="color: #000000"> the COM </span><span style="color: #000088">class</span><span style="color: #000000"> factory </span><span style="color: #000088">for</span><span style="color: #000000"> component </span><span style="color: #000088">with</span><span style="color: #000000"> CLSID </span><span style="color: #666600">{</span><span style="color: #006666">052F5458</span><span style="color: #666600">-</span><span style="color: #006666">886B</span><span style="color: #666600">-</span><span style="color: #006666">48E3</span><span style="color: #666600">-</span><span style="color: #000000">A4CC</span><span style="color: #666600">-</span><span style="color: #006666">5C8FF6570057</span><span style="color: #666600">}</span><span style="color: #000000">由于以下错误而失败</span><span style="color: #666600">:</span><span style="color: #006666">80040154.</span><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">任何帮助将不胜感激。</span></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"></span></span></p><p><span style="color: #666666"><span style="font-family: 'Segoe UI'"><span style="font-family: 'verdana'">PS:我知道64位进程不能调用32位进程-但这似乎不是问题。而且关于环境变量的部分是解决问题的一部分,因此暂时忽略。我检查了项目选项,似乎没有要更改的目标体系结构(64位/ x86)。</span></span></span></p></blockquote><p></p>
Insert quotes…
确认
发表回复
首页
论坛
Visual Studio .NET
第三方/加载项
32位DLL导入到32位
本网站使用Cookie来帮助个性化内容,调整您的体验并在注册时保持登录状态。
继续使用本网站,即表示您同意我们使用cookie。
接受
了解更多…
最佳
底部