大家好,我有点问题,我主要使用python编程,实际上已经有一段时间了,因为我不时用C#编码,而我时不时用mql编码。我的问题是我建立了一个具有几个简单功能的C#dll文件:
[DllExport("debugger", CallingConvention = CallingConvention.StdCall)]
[return: MarshalAs(UnmanagedType.LPWStr)]
public static string debugger()
{
return "Send help!! SOS";
}
[DllExport("debugger2", CallingConvention = CallingConvention.StdCall)]
public static int debugger2()
{
return 12345;
}
这是我C#文件中的简单代码,所有代码都在公共静态类中,而Solution平台是x64。代码编译就很好,我没有发现任何问题。现在,这就是我的MetaEditor代码的样子:
#import "simpleFunctions.dll"
string debugger();
int debugger2();
#import
int OnInit()
{
//Print a statement just to show where code crashes
Print("We are definitly in it :D");
Print(debugger);
}
从Journal告诉我的一切都很好,从库中添加了文件,并且在OnInit函数开头的print语句也运行了。问题是从我的dll文件中的第一个调试器函数调用时出现的,该错误正好在日志中我的Print语句下方,出现以下错误:
- Cannot find 'debugger', in 'simpleFunctions.dll'
- unresolved import function call
- OnInit critical error
- tester stopped because OnInit failed
我不满意地发现互联网上没有人以实际的方式回答这个问题,这使我不满意。我怀疑错误可能出在C#方面,涉及数据类型差异,但我真的不知道从哪里继续看。任何帮助将不胜感激。