【问题标题】:ActiveX Control's Property doesn't bind to TagName in Wonderware InTouchActiveX 控件的属性未绑定到 Wonderware InTouch 中的 TagName
【发布时间】:2022-09-30 09:05:24
【问题描述】:

我在 C# 中创建了 activex 控件。

我在 Intouch Program 中安装了我的 activex 控件

我将标签关联到 activex 控件的属性

问题是标签只能设置属性但不能获取属性

在 Wonderware Intouch Guide 文档中,它解释为“属性无法更改” 标记名的值,因为该属性是不可绑定的

C# 中的属性是这样的

public string Text1 
{
    get { return textBox1.Text; }
    set { textBox1.Text = value; }
}

我试图使属性可绑定 通过在 C# 中使用 \'[bindable(true)]、[Browsable(true)] 等..\'

但任何设置都不起作用..

在 InTouch 中是否不可能将 activex 控件的属性绑定到 Tag?

  • Afaict,这需要VB6 风格的数据绑定。在 VB6 IDE 中很容易,只需将属性标记为“属性是数据绑定的”,但使它工作的管道不是。我认为它需要在属性和实现对象的类型库声明中打开 TypeFlagFuncFlags.FBindable 属性以支持 IPropertyNotifySink 事件接口。 .NET 不支持任何这些。该去逛逛了,该产品已经很久没有被命名为“Wonderware”了。这些天由 Avevo 拥有,他们的销售文献提到了对“.NET 控件”的支持。
  • @sdb 您是否与使用 ActiveX 控件有关?如果您使用高于 11.0 的版本,您应该能够将 ActiveX 重写为 .NET 客户端控件,并且在 Wonderware 中拥有更大的灵活性
  • @HansPassant 谢谢你的回答。谢谢你,我找到了详细的原因。
  • @Grambot 谢谢你的回答。我必须使用旧版本的程序。

标签: c# activex wonderware


【解决方案1】:

我通过参考这个网站上的代码解决了这个问题。

https://www.codeproject.com/Articles/102533/Using-NET-with-Wonderwared

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多