我是一个经验丰富的Easylanguage程序员。Easylanguage是Tradestation (交易平台)使用的一种高级语言。Easylanguage可以使用dll,如下例所示:
DefineDLLFunc: "Calculator.dll", float, "Subtract", float, float;我已经使用Visual Studio2019创建了Calculator.dll。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Calculator
{
Public class Functions
{
public float Subtract(float a, float b)
{
return a - b;
}
public float Multiply(float a, float b)
{
return a * b;
}
public float Divide(float a, float b)
{
return a / b;
}
public float Power(float a)
{
return a * a;
}
}
}我完成了构建步骤,它创建了dll文件,但这缺少一些东西,因为当我尝试从Easylanguage访问dll时,它找不到任何函数。我在制作动态链接库的过程中漏掉了一两步。那是什么?
发布于 2021-02-17 05:56:39
我不认为你可以使用DefineDLLFunc来调用.NET程序集。此方法似乎只对本机DLL和非托管(.NET) DLL有效。对于.NET DLL,您可能必须使用COM。这只是一个猜测,因为我不熟悉EasyLanguage。但您可以在此网站上查看与EasyLanguage的互操作:https://www.tradestationchina.com.cn/knowledge-base-/understanding-tradestation-compatible-dlls-part-iii/
https://stackoverflow.com/questions/66232580
复制相似问题