【发布时间】:2013-05-30 07:41:41
【问题描述】:
我有一个 delphi dll,我在我的网络应用程序中使用互操作服务调用它。在平台目标中调用 dll 的 Web 应用程序设置为任何 cpu。 当我在我的控制台应用程序中测试它时,它的平台目标是 x86,它加载并调用 dll 没有错误。如果我将控制台应用程序平台目标更改为任何 cpu,它会给出相同的错误。我无法更改 Web 应用程序的平台目标。我该如何克服呢? 是不是delphi dll是针对使用x86的。我可以编译delphi项目以使用Borland Delphi 7中的任何cpu吗?非常感谢帮助。 这是我的导入声明-
[DllImport(@"Decoder.dll", CharSet = CharSet.Unicode)]
static extern Int32 CALinkDecode(
string sCode,
out int SubscriberID,
out int MailshotID,
out int LinkID
);
Int32 retvalptr = CALinkDecode(sCode, out cas,
out cam, out cal);
【问题讨论】:
-
另一种选择是抛弃 Delphi 代码并成为纯 C#。你的 webapp 是否使用了一个以上的解码函数?
-
只使用delphi解码功能。
-
你能具体说说函数名吗?请准确的名字。当您的目标通过 .net 实现微不足道时,我有强烈的感觉您在浪费时间在 Delphi 上。
-
David 发生的事情是有一个遗留的 delphi 应用程序,它使用 base32 将三个值编码为一个字符串。还有一个解码这个字符串并返回三个值的delphi dll。我想用这个解码器。
-
我不会那样做。移植到 .net 代码将是微不足道的。