Получение «Nil Object Exception» при вызове метода C # DLL из XOJO - PullRequest
1 голос
/ 10 октября 2019

Я пытаюсь получить доступ к методу 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

...