我class
在.NET DLL中有以下导出函数Initialize()
:
public class Class1
{
public static Indicator a = null;
private static int k = 0;
[DllExport( "Add", CallingConvention = CallingConvention.StdCall )]
public static int Add( int left, int right )
{
k = k + 1;
return k;
}
[DllExport( "Initialize", CallingConvention = CallingConvention.StdCall )]
public static void OnStartUp1( )
{
try
{
Thread.CurrentThread.SetApartmentState( ApartmentState.STA );
a = new Indicator();
a.Init();
}
catch ( Exception e )
{
MessageBox.Show( e.ToString() );
}
}
}
当我从外部 windows 窗体 .NET 应用程序调用此方法时,它正在工作,并且由类型 Indicator 创建的窗体响应并加载。
但是,当我从另一个名为 MT4(MetaTrader 终端 4 metatrader4)的应用程序中调用它时,它加载不好并且没有响应,并且看起来像冻结一样。