2010-04-08 65 views
1

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

这个设置是否存在性能问题,即围绕GDI手柄?

+1

我不知道你在做什么那里有VB6 **和** Tcl/Tk,但听起来很可怕 – 2010-04-08 12:04:15

+0

@Tiberiu为什么可怕?在构建ActiveX控件时假定Tcl/Tk的决定是固定的,是否有偏好替代语言? – PeanutPower 2010-04-08 12:05:44

+1

听起来像一个来自10年前的有效问题。:-) 现在,VB6被完全弃用,Tcl(不幸地是?)被边缘化了。我可以看到在Tcl/Tk中进行跨平台的一些事情,但是不会将它与ActiveX和不受支持的运行时绑定在一起。 – 2010-04-08 12:20:30

回答

3
  1. Download the ActiveTcl distribution并安装它。
  2. 参照The TclTk wikiDownload the tcom library for tcl
  3. 的TCOM自述指示在从压缩文件中的\ lib文件夹中找到成C的TCOM文件夹中复制:\ 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文件使用要打开它。

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

这里是代码的optcl版本:

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