Chris, Forgive me if I sound pedantic - but here's some advice from an old hand (slightly rheumatic by now - seriously!) at programming. If you want to find out the hard way (may do!) delete this *now*; don't read any further. On the other hand...:
Do *not* hide that DOS (command-line) window until you've fully debugged, alpha-tested and beta-tested your program. Until it's ready for release, you *need* that command-line window. Unless you want (or can afford to) to shell out for a debugger - but you don't *need* (to shell out for) a debugger until you've exhausted all other methods. (When I was starting to writing COBOL there *were* no 'debuggers'. Debugging your code was inserting as many useful DISPLAY statements you could think of and then interpreting the text on the print-out you got back.) I have a debugger for Perl (Part of ActiveState's PDK, which costs $$$) but I rarely use it. I use the command-line window to display my "display" statements (plain old print in Perl) until I'm really stuck. If you want to know what goes on in your script, keep that window, and put liberal [print] statements into your code to trace every step: you're robbing yourself of a valuable resource until your code is really working (and confirmed as really working by people using your code). They'll give you a trace of what's happening, and a means of finding problems - well before you'll even *need* a debugger (or this list, for that matter). Leave your print statements (and code variations!) but 'comment them out' while you're trying to figure out something. Once it works, put in a new comment that explains (to you, 6 months later!) why it works. When you can still understand that comment after a week, your're ready to deleted the other commented-out trial-and-error code. If not, go back and explain it to yourself again (if you can still remember why this worked in the first place and something else didn't!); in a comment. And don't under-estimate the life-time of your code: trivial code intended for a week or so has a nasty habit of staying alive for 2 years or more... Debuggers are a wonderful invention - and I use them. But you don't need them (need to *pay* for them!) until you've exhausted all possibilities of displaying traces and variable values of your program while it's executing. With Perl on Win - that's just what you need your command-line window for: without it (or a debugger): how do you know what's happening? My Perl scripts (until ready for release) look really 'dirty' until they're working: they're full of comments of what I'm trying (commented code), and why, and why it doesn't work so what I'm trying next. So try a few things, put in some print statements, and if your code doesn't work as you intended and you figured out why, put that into a comment as well. Ultimately you'll end up with working code, and comments explaining (to you!) why this works and something else you tried doesn't. (OK, I didn't even try your code - I just noticed you disabled the very means of finding out why it didn't work in the first place. IGNORE if you're not interested!) At 13:23 2001-05-09 -0500, Chris Etzel wrote: >Hello, > >I am playing around with Win32::GUI trying to refresh my memory on Perl and >Win32::GUI, and: > >I have written a test program that basically brings up a toolbar with a >button to open a launcher window that I can type a command in and launch >directly. Well, all works fine exept I can't see the text field. I even >tried to copy and paste from my working example directly to the new code, >but still no text field. Before I go insane, can someone look at this code >and tell me if I messed up somewhere? Thanks! > >Chris > >----------code below-------------- > >use Win32::GUI; >($DOS) = Win32::GUI::GetPerlWindow(); > Win32::GUI::Hide($DOS); > >my $Toolbar=Win32::GUI::Window->new( > -name=>'Toolbar', > -size=>[600,75], > -title=>"PEaRL ToolBar", > ); >my $launcher=$Toolbar->AddButton( > -name=>'launcher', > -pos=>[10,10], > -text=>"Launcher", > ); >$Toolbar->launcher->Show(); > > sub launcher_Click{ > my $Launcher=Win32::GUI::Window->new( > -name=>'CommandLauncher', > -size=>[300,75], > -title=>"Launcher", > ); > $Launcher->Show(); > > my $runline=$Launcher->AddTextField( > -name=>'CommandBox', #Here is >where It should show the text field-but doesn't > -background=>[255,255,255], > -pos=>[10,10], > -size=>[150,22], > -prompt=>'Enter Command:', > ); > > my $runButton-$Launcher->AddButton( > -name=>'runbutton', > -pos=>[160,10], > -text=>'Run', > -size=>[30,22], > ); > $Launcher->runbutton->Show(); > sub runButton_Click{ > exec($textfield->Text); > } > > } > > > > >$Toolbar->Show(); >Win32::GUI::Dialog(); > > > > >_______________________________________________ >Perl-Win32-GUI-Users mailing list >Perl-Win32-GUI-Users@lists.sourceforge.net >http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users Cheers, Marjolein Katsma HomeSite Help - http://hshelp.com/ - Extensions, Tips and Tools