This worked perfectly! Thank you so much.
Best regards,
Laurence.

On Wed, Jun 18, 2008 at 1:35 AM, Gisle Aas <[EMAIL PROTECTED]> wrote:
> On Jun 17, 2008, at 11:42, Laurence Anthony wrote:
>
>> Does anybody know how to prevent the Tkx (Tcl/Tk) error report dialogs
>> popping up in the GUI (without using eval throughout the code)? In
>> Perl/Tk, things just die quietly. In Tkx, the error dialog tells the
>> user exactly on which line the bug is. This is great for debugging,
>> but creates a poor user experience.
>
> You define the Tcl 'bgerror' function in the if you want to override this.
>  The Tkx API does not provide a direct way to do this if you want the
> bgerror command to be a perl function, so this example shows a possible
> workaround:
>
> #!perl -w
>
> use strict;
> use warnings;
> use Tkx;
>
> Tkx::button(".b",
>    -text => "Hello, world",
>    -command => sub { Tkx::foo(); },  # XXX will fail
> );
> Tkx::pack(".b");
>
> Tkx::set("perl_bgerror", sub {
>    splice(@_, 0, 3);  # skip internal callback junk
>    my $msg = shift;
>    print "Error: $msg\n";
> });
>
> Tkx::eval(<<'EOT');
> proc bgerror {msg} {
>     global perl_bgerror
>     $perl_bgerror $msg
> }
> EOT
>
> Tkx::MainLoop()
>
> __END__
>
> Regards,
> Gisle
>
>



-- 
Laurence Anthony, PhD
Director, Associate Professor
Center for English Language Education in Science and Engineering (CELESE)
Faculty of Science and Engineering
Waseda University
Japan

Reply via email to