将VB6 ActiveX控件转换为TCL/Tk应用程序

将VB6 ActiveX控件转换为TCL/Tk应用程序,vb6,activex,tcl,tk,Vb6,Activex,Tcl,Tk,在Tcl/Tk包装器应用程序中实例化VB6 ActiveX控件最常用的方法是什么 此设置是否存在性能问题,即GDI句柄周围的性能问题 然后安装它 指 tcom自述文件指示将\lib文件夹中的tcom文件夹从zip文件复制到C:\Tcl\lib以安装tcom库 现在创建一个扩展名为.tcl的文本文件,其中包含以下内容: # This demo of calling the Fire method on the MyControl VB6 ActiveX control puts "Hello Wo

在Tcl/Tk包装器应用程序中实例化VB6 ActiveX控件最常用的方法是什么

此设置是否存在性能问题,即GDI句柄周围的性能问题

  • 然后安装它
  • tcom自述文件指示将\lib文件夹中的tcom文件夹从zip文件复制到C:\Tcl\lib以安装tcom库
  • 现在创建一个扩展名为.tcl的文本文件,其中包含以下内容:

    # This demo of calling the Fire method on the MyControl VB6 ActiveX control
    puts "Hello World";
    package require tcom;
    set myinstance [::tcom::ref createobject "MyKit.MyControl"];
    $myinstance Fire;
    
    双击.tcl文件以使用wish打开它

    另一种选择是使用“OpenTCL”即optcl,这显然不同于tcom,它支持在基于Tk的应用程序中嵌入可视ActiveX组件。安装类似于tcom(将optcl文件夹复制到C:\tcl\lib文件夹中)

    以下是代码的optcl版本:

    #load optcl
    package require optcl
    set myinstance [optcl::new MyKit.MyControl];
    $myinstance Fire;
    

    我不知道你在用VB6和Tcl/Tk做什么,但听起来很吓人。@Tiberiu为什么吓人?假设Tcl/Tk的决定是固定的,那么在构建ActiveX控件时,有没有偏好另一种语言?这听起来像是10年前的一个有效问题。:-)现在VB6完全不受欢迎,而Tcl(不幸的是?)相当边缘化。我可以看到在Tcl/Tk中做一些跨平台的事情,但这样你就不会用ActiveX和不受支持的运行时来限制它了。@Tiberiu:)谢谢你的反馈OP可能已经有了用VB6编写的ActiveX控件。听起来很合理。