我为WinCC(西门子)(SCADA)编写了一个用户控件。现在我想传递一个指向控件的指针。执行此操作的唯一方法是:将指针写入属性。
WinCC只有这种方法来设置……
我不知道C#是否可以通过指向C ++的指针进行访问。
无论如何,这个: (DWORD)(&autoDB) 这是错误的 指针的地址 作为财产的价值,这是毫无意义的。
(DWORD)(&autoDB)
你需要指针的值,即 (DWORD) autoDB 。
(DWORD) autoDB
也, SetPropDouble() 接受类型的值 double ,即一个浮点数。这不是一个非常好的共享指针的方法,它是一个(大)整数。尝试一些不同的表示,如果您无法访问足够大的整数,则字符串可能会起作用。
SetPropDouble()
double
好,
很久以前,我已经得到了支持 Siemens 。
Siemens
西门子:加载的Dll,控件等加载在单独的内存中,而不是加载到应用程序(主)内存中。 Dll,Controls ....之间的内存地址共享无法正常工作。所有人都有一个独立的记忆
超。唯一方法:管道或其他通信实现(TCP / IP,......)。