2010-04-08 15 views
1

Quelle est la méthode la plus courante d'instanciation des contrôles ActiveX VB6 dans une application wrapper Tcl/Tk.Contrôles ActiveX VB6 dans une application TCL/Tk

Y a-t-il des problèmes de performances avec cette configuration, c'est-à-dire autour des poignées GDI?

+1

Je ne sais pas ce que vous faites là avec VB6 ** et ** Tcl/Tk, mais il semble effrayant –

+0

@Tiberiu pourquoi effrayant? Y at-il une préférence pour une langue alternative lors de la construction des contrôles ActiveX en supposant que la décision pour Tcl/Tk est fixée? – PeanutPower

+1

Cela ressemble une question valide d'il y a 10 ans. :-) De nos jours VB6 est carrément déprécié et Tcl est (malheureusement) plutôt marginalisé. Je peux voir faire quelque chose de multi-plateforme dans Tcl/Tk, mais alors vous ne le lieriez pas avec ActiveX et un runtime non supporté. –

Répondre

3
  1. Download the ActiveTcl distribution et de l'installer.
  2. Se référant à The TclTk wikiDownload the tcom library for tcl
  3. Le README TCOM copier le instruit dossier TCOM trouve dans le dossier \ lib du fichier zip dans C: \ Tcl \ lib pour installer la bibliothèque TCOM.

Maintenant, créez un fichier texte avec l'extension .tcl contenant les éléments suivants:

# 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; 

Double-cliquez sur le fichier .tcl pour l'ouvrir en utilisant souhait.

Une autre option consiste à utiliser "Open Tcl", c'est-à-dire un optcl qui apparemment contrairement à tcom prend en charge l'incorporation d'un composant ActiveX visuel dans une application basée sur Tk. L'installation est similaire à TCOM (copier le dossier optcl dans le répertoire C: \ tcl \ lib

Voici la version optcl du code.

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