> From: Kevin Walzer [mailto:k...@codebykevin.com] 
> On 9/22/15 10:24 AM, Konovalov, Vadim wrote:
> > Should work, if you place all tcl/tk files as subdir and
> then PAR-pack 
> > it into .par archive and "point" tcl_library there
> Well, this suggestion didn't quite work as presented, but
> it pointed me in the right direction--thanks.

It could be that you should also call $int->Init at the right time.

This is a function that I happen to insert into the Tcl.pm file, could help to 
understand an idea on what I meant:

sub new {
    my $int = _new(@_);
if ($ENV{PAR_PROGNAME}) {
    #$int->SetVar('tcl_library',"$ENV{PAR_TEMP}\\inc\\tcl-togo/lib/tcl8.5");
    Tcl::SetPreInitScript("set tcl_library 
{$ENV{PAR_TEMP}/inc/tcl-togo/lib/tcl8.5}; source \"\$::tcl_library/init.tcl\"");
    $int->Eval(
        'package ifneeded Tk 8.5.13 [list load {' . "$ENV{PAR_TEMP}\\". 
'tk85.dll} Tk]'
    );
    $int->Init;
}
    return $int;
}

In my setup this works, although I expected to spend less time to make it to 
work.


> I just did a brute force copy of the Tcl installation to
> one of the temp directories that the bundled Tcl.dll was
> looking for init.tcl. Crude, but it works. Now, on to
> fixing the auto_path to load additional packages...

Maybe this is the right way to go.

Regards,
Vadim.

Reply via email to