Yesterday, after finishing a gui, I started reading some old list postings 
on threads.  I looked over my application and found a part of the code 
where I could test the threading (perl 5.8.x).  Best part, it worked!

I have been programming in Perl steadily for the past five years, and it 
has quickly become my language of choice.  Up until now, I have 
proceeded in the linear fashion in which Perl works on win32, each task 
performed must be performed sequentially.  Of course, I have always 
sacrificed speed and responsivity for versatility.

Now, I would like to begin retrofitting some of my code to a threaded 
model, in part.  I thought a good solution would be to try it with a gui, 
but I am stuck in my thinking, and have a few questions to ask, to gain 
clarity:

1.  When using threading with win32::gui, would/could I create a thread 
for each gui component/object?  For example, from my Master loop, 
could I create a thread that held a Window and every button, textfield, 
etc. contained inside the Window, while another thread held a Dialog 
Box with all of it's components (textfields, buttons, etc.)?

2.  If I can, from where do I control the Show() method?  I tried 
performing this from the Master Loop, but it said, of course, that my 
$Window didn't exist.  Then, I tried passing the Show() through the 
thread (e.g. $sample_thread->$Window->Show();), but that didn't work 
either.

3.  Instead of placing the $Window in threading, do I place the functions 
of $Window in the threading?

4.  Does anyone have an example of threading with Win32::gui?

If anyone is old enough to remember seeing their first Walkman (circa 
1980), that is the similar feeling I am having with win32::gui and 
threads!  For five years, I have used Perl for database processing, and 
cgi.  Two years ago, I discovered the power of OLE.  Now, I am 
revisiting GUI, and contemplating threads.  Next, I might begin 
considering myself to be a programmer! :)

Brad Smith

Reply via email to