> I'm trying to add the tablelist package to my tkkit.dll (and > my tkkit.dylib > on OS X). In following Jeff Hobbs' advice, I read thru this > tcltk thread:
ActivePerl comes with tkkit.dll - it is needed for a replacement of ActiveTCL. I do not use tkkit.dll approach - so I can not advise anything useful on its usage. (may be Jeff will help you? I don't know) I use another way of packaging the Tcl/Tk, which ends up with couple of DLL files and a 1.5Mb ZIP file containing all required TCL scripts. I see 2 possible ways to resolve your problem: 1. (the best way IMO) is to delete tkkit.dll, install ActiveTCL and then use any tcl/tk package which is ever possible in tcl/tk world. You will need to install Tcl CPAN package - which is not dependant on tkkit.dll, I do not know if ActiveState provides this binary. OTOH having separate ActiveTCL installation will make using PAR harder - but this is actually possible to solve. 2. let tkkit.dll as it is, and populate tcl_pkgPath (see tclvars manual page at http://docs.activestate.com/activetcl/8.5/tcl/TclCmd/tclvars.htm) Create a small directory where you will put sdditional tcl libraries, and point tcl_pkgPath I hope it is possible. re-packaging anything into the tkkit.dll is arguably possible, but this is not a point of my strongest knowledge. sorry. > > <http://www.nntp.perl.org/group/perl.tcltk/2008/11/msg187.html> > http://www.nntp.perl.org/group/perl.tcltk/2008/11/msg187.html > > Using that script as a guide, here's what I have come up with > for my Tcl > script, although I know it isn't right: > > (Win32 version) > ################################## > package require vfs > package require vfs::mk4 > set tkkit "C:/Perl/lib/auto/Tcl/tkkit.dll" ; # set to correct path > file attributes $tkkit -readonly 0 ; # needs to be writable > vfs::mk4::Mount $tkkit tkkit ; # mounts file as dir 'tkkit' > > [ commands above work fine, but the following lines don't > work. I think they > don't work because the "tkkit/lib/tablelist4.9/pkgIndex.tcl" > pathname is > invalid; however, I'm not sure what to do here as my > tkkit.dll is located as > stated above, but my tablelist pkgIndex.tcl pathname is > "C:\Tcl\lib\tablelist4.9\pkgIndex.tcl", so what should I set the pkg > variable to? Do I need to copy & move my tkkit.dll file?] > > set pkg tkkit/lib/tablelist4.9/pkgIndex.tcl # invalid pathname > set fid [open $pkg w] > > [didn't try these below yet] > > puts $fid {package ifneeded tablelist 4.9 } > close $fid > vfs::unmount tkkit > exit > ################################### > > Any help is greatly appreciated. > > Thanks a lot, > Mike >