程序如何使用非静态 class 库?
How do programs use non-static class libraries?
我有一个 Windows 应用程序,它通过 public 属性 将字符串和浮点数数据发送到 class。相同的 DLL 程序集被加载到 Maxscript (3dsmax) 而 Windows 应用程序是 运行。我希望如果我尝试访问 class 属性,我会在两个应用程序中获得相同的数据,但事实并非如此。显然,数据在运行时传入和传出实例化 class,但是当 Maxscript 访问相同数据时,数据是未定义的。
Windows 应用程序正在创建 class 的实例。 Maxscript 是 "loading the assembly" 作为 dotNetObject。 Windows 应用程序 sent/received 的数据是否仅在本地实例中进行,而不是在 myClass.dll 文件本身中进行?我知道可以在运行时通过 Maxscript 将 C# 应用程序与 3dsmax 连接起来。有人帮忙解释一下这里可能出了什么问题吗?
Windows Communication Foundation 也称为 WCF,非常好用 API。我在 AutoDesk 的 3dsmax 工作时成功地使用了它。我用它向应用程序(即 3dsmax)发送 maxscript 命令以驱动自动化测试。
最后但同样重要的是,'TheGeneral' 上面的评论是完全正确的。
如果您想要一种更 'native' 的方式在进程之间共享数据,那么我建议使用内存映射。
https://docs.microsoft.com/en-us/windows/desktop/memory/file-mapping
我有一个 Windows 应用程序,它通过 public 属性 将字符串和浮点数数据发送到 class。相同的 DLL 程序集被加载到 Maxscript (3dsmax) 而 Windows 应用程序是 运行。我希望如果我尝试访问 class 属性,我会在两个应用程序中获得相同的数据,但事实并非如此。显然,数据在运行时传入和传出实例化 class,但是当 Maxscript 访问相同数据时,数据是未定义的。
Windows 应用程序正在创建 class 的实例。 Maxscript 是 "loading the assembly" 作为 dotNetObject。 Windows 应用程序 sent/received 的数据是否仅在本地实例中进行,而不是在 myClass.dll 文件本身中进行?我知道可以在运行时通过 Maxscript 将 C# 应用程序与 3dsmax 连接起来。有人帮忙解释一下这里可能出了什么问题吗?
Windows Communication Foundation 也称为 WCF,非常好用 API。我在 AutoDesk 的 3dsmax 工作时成功地使用了它。我用它向应用程序(即 3dsmax)发送 maxscript 命令以驱动自动化测试。
最后但同样重要的是,'TheGeneral' 上面的评论是完全正确的。
如果您想要一种更 'native' 的方式在进程之间共享数据,那么我建议使用内存映射。 https://docs.microsoft.com/en-us/windows/desktop/memory/file-mapping