我正在尝试使用 XOJO 工具中的 C# DLL 访问 C# 方法。
我遵循了 Jim 在以下帖子中定义的程序:
https://forum.xojo.com/7079-using-c-classes-in-xojo
并且一切都配置正确但是当我执行程序时,它给了我错误NilObjectException 没有被处理,即使我传递了正确的参数。
下面是 C# 代码:
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace XojoStuff
{
[Guid("DB038D2E-BD4D-44A7-BE64-4844FF07F870")]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IManagedInterface {[DispId(1)] int PrintHi(string name); }
[Guid("AB46D07F-6920-4114-924B-5E37BED3A65E")]
[ClassInterface(ClassInterfaceType.None)]
public class InterfaceImplementation : IManagedInterface
{
public int PrintHi(string name)
{ MessageBox.Show(name); return 1; }
}
}
以下是来自 Xojo 的电话:
dim o as New XOJOCSDLL.InterfaceImplementation
Call o.PrintHi("Hello")
当执行文件运行时它应该显示消息框并带有Hello消息