在 C# 中使用 uDMX API
using uDMX API in c#
我是 c# 的新手,我想使用 this uDMX API,但是当我尝试添加 uDMX.dll 文件时,出现此错误:"The reference is not vaild or not supported"(请参见屏幕截图(在德语))
- I can't add images yet -
还是我完全错了?
我没有找到另一个 uDMX api 或 .dll 文件。
希望得到您的帮助和想法。
您不能像那样将非托管的 win32 dll 导入到托管的 c# 应用程序中,您需要自己指定方法和参数。
uDMX api 公开了这些方法
bool _stdcall Configure() ;
bool _stdcall Connected() ;
bool _stdcall ChannelSet(long Channel, long Value) ;
bool _stdcall ChannelsSet(long ChannelCnt, long Channel, long* Value) ;
bool _stdcall Info() ;
为了在托管代码中使用它们,您需要向 .Net
提供声明、return 值和参数
这是通过将方法标记为外部方法并通知 .Net 在哪里找到它来完成的,使用 System.Runtime.InteropServices
命名空间中的 DllImport
属性。
using System;
using System.Runtime.InteropServices;
class uDMXTest
{
[DllImport("uDMX.dll")]
public static extern bool Configure();
public static void Main()
{
bool result;
result = Configure();
Console.WriteLine(result);
}
}
有关如何提供 Configure 方法声明以及如何使用它的示例。
您可以以相同的方式在 uDMX.dll 中声明其他方法 - 请注意,您可能需要在 DllImport 属性
中提供 uDMX.dll 的完整路径
我是 c# 的新手,我想使用 this uDMX API,但是当我尝试添加 uDMX.dll 文件时,出现此错误:"The reference is not vaild or not supported"(请参见屏幕截图(在德语)) - I can't add images yet -
还是我完全错了? 我没有找到另一个 uDMX api 或 .dll 文件。
希望得到您的帮助和想法。
您不能像那样将非托管的 win32 dll 导入到托管的 c# 应用程序中,您需要自己指定方法和参数。
uDMX api 公开了这些方法
bool _stdcall Configure() ;
bool _stdcall Connected() ;
bool _stdcall ChannelSet(long Channel, long Value) ;
bool _stdcall ChannelsSet(long ChannelCnt, long Channel, long* Value) ;
bool _stdcall Info() ;
为了在托管代码中使用它们,您需要向 .Net
提供声明、return 值和参数这是通过将方法标记为外部方法并通知 .Net 在哪里找到它来完成的,使用 System.Runtime.InteropServices
命名空间中的 DllImport
属性。
using System;
using System.Runtime.InteropServices;
class uDMXTest
{
[DllImport("uDMX.dll")]
public static extern bool Configure();
public static void Main()
{
bool result;
result = Configure();
Console.WriteLine(result);
}
}
有关如何提供 Configure 方法声明以及如何使用它的示例。 您可以以相同的方式在 uDMX.dll 中声明其他方法 - 请注意,您可能需要在 DllImport 属性
中提供 uDMX.dll 的完整路径