Dear Jeff,

More steps forward and a few steps back.

I reinstalled the latest ActiveTcl and the tclsh85 script worked as you
described. tkkit went from 3081KB to 3135KB. However, one line that seems
critical is the following:
package require vfs::mk4  #this is necessary for the vfs::mk4::Mount command

Here is the complete script (that seemed to work):
package require vfs #installed in latest versions of ActivePerl
package require vfs::mk4  #this is necessary for the vfs::mk4::Mount command
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'
set tcllib C:/Tcl/lib # where you installed Tcl and most lib files
set tkkitlib tkkit/lib # this is one of the built-in $::auto_path search
areas
set tkdnd $tcllib/tkdnd2.0 # path to tkdnd lib files, complete with
pkgIndex.tcl
file copy -force $tkdnd $tkkitlib
vfs::unmount tkkit
exit

I next rewrote my Perl script removing the "lappend" hack and things worked
on my computer. But, when I tried to compile with PerlApp everything went
smoothly (with one warning) until I tried to test the executable, which
produced an error:

Can't create
'C:\DOCUME~1\Anthony\LOCALS~1\Temp\pdk-Anthony/auto/Tcl/Tcl.dll': Permission
denied at perlapp line 894.
BEGIN failed--compilation aborted at
/<Z:\all_files_20090303\software_development\dnd_testing\dnd_test_ver3_embedding_dnd_in_tkkit.exe>Tkx.pm
line 206.
BEGIN failed--compilation aborted at
dnd_test_ver3_embedding_dnd_in_tkkit.plline 2.

Below is the script (with comments for everyone) and below that the verbose
report from PerlApp.

Any help would be greatly appreciated.
Laurence.

SCRIPT
########################################################################################
use strict;
use Tkx;

Tkx::package_require('tkdnd');
my $e;
my $mw = Tkx::widget->new(".");
my $w_edit = $mw->new_entry(-name=>".current_dir",-textvariable=>\$e);
$w_edit->g_pack(qw '-fill both -expand true');

Tkx::tkdnd__drop___target_register($w_edit,'*');
Tkx::bind ($w_edit, '<<Drop:DND_Files>>', [ sub {
      $e = shift;
      print "I have '$e'\n";
}, Tkx::Ev("%D")]);

Tkx::MainLoop;

#COMMENTS
#Get tkdnd from http://sourceforge.net/projects/tkdnd/files/ (I used the
Windows binary)
#Put tkdnd2.0 into C:\Tcl\lib (or equivalent area)
#Note 1 on where to put tkdnd:
http://www.mail-archive.com/tkinter-disc...@python.org/msg00448.html
########################################################################################


PerlAPP output
########################################################################################
PerlApp 8.0.1 build 289861 (perl 5.10.0)
Copyright (C) 1998-2009 ActiveState Software Inc. All rights reserved.
Standard license SCACD62284 for Laurence Anthony <
ant_...@antlab.sci.waseda.ac.jp>

Using Perl 5.10.0 located at:
*** C:\Perl\bin\perl.exe
Including modules:
+++ C:\Perl\lib\AutoLoader.pm
+++ C:\Perl\lib\Carp.pm
+++ C:\Perl\lib\Carp\Heavy.pm
+++ C:\Perl\lib\Config.pm
+++ C:\Perl\lib\Config_heavy.pl
+++ DynaLoader.pm (internal)
+++ C:\Perl\lib\Errno.pm
+++ C:\Perl\lib\Exporter.pm
+++ C:\Perl\lib\Exporter\Heavy.pm
+++ C:\Perl\lib\File\Glob.pm
+++ C:\Perl\lib\List\Util.pm
+++ C:\Perl\lib\PerlIO.pm
+++ C:\Perl\lib\PerlIO\scalar.pm
+++ C:\Perl\lib\Scalar\Util.pm
+++ C:\Perl\lib\Tcl.pm
Tclaux.pm:
    warn: Can't locate Tclaux.pm
    refby: C:\Perl\lib\Tcl.pm line 409
+++ C:\Perl\lib\Text\ParseWords.pm
+++ C:\Perl\lib\Tie\Hash\NamedCapture.pm
+++ C:\Perl\lib\Time\HiRes.pm
+++ C:\Perl\lib\Tkx.pm
+++ XSLoader.pm (internal)
+++ C:\Perl\lib\attributes.pm
+++ C:\Perl\lib\auto\File\Glob\Glob.dll
+++ C:\Perl\lib\auto\List\Util\Util.dll
+++ C:\Perl\lib\auto\PerlIO\scalar\scalar.dll
+++ C:\Perl\lib\auto\Tcl\Tcl.dll
+++ C:\Perl\lib\auto\Tcl\tkkit.dll
+++ C:\Perl\lib\auto\Tcl\copy_of_tkkit.dll
+++ C:\Perl\lib\auto\Time\HiRes\HiRes.dll
+++ C:\Perl\lib\overload.pm
+++ C:\Perl\lib\strict.pm
+++ C:\Perl\lib\vars.pm
+++ C:\Perl\lib\warnings.pm
+++ C:\Perl\lib\warnings\register.pm
+++ perl510.dll (C:\Perl\bin\perl510.dll)

Summary: 0 errors and 1 warning

Note that all dependencies marked with a "warn" message are usually
optional; they are only needed at runtime if the application makes
use of this optional functionality.

Please run `perlapp --help DIAGNOSTICS` for more information
about the generated error and warning messages.

Created 'dnd_test_ver3_embedding_dnd_in_tkkit.exe' [Test it]
Executable size: 6.69 MB same as last time

[DONE]

{.\dnd_test_ver3_embedding_dnd_in_tkkit.exe}
Can't create
'C:\DOCUME~1\Anthony\LOCALS~1\Temp\pdk-Anthony/auto/Tcl/Tcl.dll': Permission
denied at perlapp line 894.
BEGIN failed--compilation aborted at
/<Z:\all_files_20090303\software_development\dnd_testing\dnd_test_ver3_embedding_dnd_in_tkkit.exe>Tkx.pm
line 206.
BEGIN failed--compilation aborted at
dnd_test_ver3_embedding_dnd_in_tkkit.plline 2.

[DONE]
########################################################################################

Reply via email to