On 2010-02-20, at 8:09 PM, Laurence Anthony wrote: > First vfs and vfs::mk4 are not installed by default. These need to be > installed at the regular command line with: > teacup install vfs > teacup install vfs::mk4 > This has been noted in earlier discussions.
I missed those discussions, but that is not correct. VFS is a standard extension that is in each release. > Next, as you say, the path to the Perl tkkit needs to be adjusted. Mine is: > set tkkit "C:\Perl/lib\auto\Tcl\tkkit.dll" > I assume that the quotations around the path name are not needed, but this > is not clear. No, Tcl doesn't require it. You will want to use '/' path separator to not get \t == tab, etc. > The next line was cryptic for me: > # this is one of the built-in $::auto_path search areas > set tkkitlib tkkit/lib > Can we just use this path as is? More explanation would be nice. Yes, that should be left alone. 'tkkit' is the virtually mountpoint of the actual DLL and 'lib' is the subdir where Tcl will search for extensions at runtime. > # path to tkdnd lib files, complete with pkgIndex.tcl > set tkdnd $tcllib/tkdnd > (I assume here that we are setting tkdnd to "C:/Tcl/lib/tkdnd" in my > installation.) > Note that in my installation, tkdnd was actually installed as tkdnd2.0. So, > I had to change the line to: > set tkdnd $tcllib/tkdnd2.0 Yes, that's expected. > The next line produced an error: > file copy -force $tkdnd $tkkitlib > The error was: > error copying "C:Tcl/lib/tkdnd/libtkdnd2.0.dll" to > "tkkit/lib/tkdnd/libtkdnd2.0.dll": no such file or directory Hmmmm ... odd. I don't get how you can get that error. The paths aren't correct based on the change you made above. I would expect to see 'tkdnd2.0' in the path. Can you show your modified script in full? Jeff >> Original script from Jeff > > ################################## > package require vfs > set tkkit "C:/Perl10/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' > # where you installed Tcl and most lib files > set tcllib C:/Tcl/lib > # this is one of the built-in $::auto_path search areas > set tkkitlib tkkit/lib > # path to tkdnd lib files, complete with pkgIndex.tcl > set tkdnd $tcllib/tkdnd > file copy -force $tkdnd $tkkitlib > vfs::unmount tkkit > exit > ###################################