[英]delphi xe3 dll injection for 64bit dll to 64bit process doesn't work
[英]Why the 64-bit COM DLL can't be registered using Delphi XE3
我有一個COM對象,該對象最初是在32位Delphi 2007下編譯的。 現在,我已使用64位編譯器移植到Delphi XE3。 它可以使用新的64位DLL成功編譯,但是我無法注冊它。
我正在使用Admin來注冊DLL,它對於32位DLL而言工作正常,但對於64位而言卻不能。
它一直說“對內存位置的無效訪問”
這里有什么提示嗎?
PS:我使用的命令只是%systemroot%\\System32\\regsvr32.exe test.dll
。
在Windows 7 64位上注冊時,它顯示“對內存位置的無效訪問”; 在Windows 8 64位中注冊時,它顯示“動態鏈接庫初始化例程失敗”。
是的,我找到了原因。 在單元之一的初始化部分,它仍使用第三方32位浮點運算。 刪除代碼后,它成功注冊了DLL。
在win7上,錯誤消息令人困惑,但是在win8上,它說“動態鏈接庫初始化例程失敗”,這給出了更清楚的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.