Я пытаюсь получить доступ к методу C # с помощью C # DLL из XOJO Tool.
Я выполнил процедуру, которую Джим определил в следующем сообщении:
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