>I am trying to create a program using Win32::GUI that uses more threads. A
>few threads should connect to a server and download data permanently, and
>other threads should updated some list views with that data
>For doing this I need to use threads::shared and share some variables like
>$Win and other variables like $ListView, but if I try to share them I get
>Invalid value for shared scalar at program.pl line 19.
>Are there any examples of using threads with objects, references that could
>help me learn how to use threads with Win32::GUI?
The best place to start is to download the thread utils module that Roy May
This makes interthread communication much more straightforward.
The best way to share Win32-GUI objects is to share the handle, not the
actual object itself, but my advice is try to only have one thread dealing
with the GUI. For example:
Say you've got five threads downloading data, and five listviews that you
want to update. Rather than have the five threads update the listview
directly, they send a message back to the parent thread (which is dealing
with the gui) with the data for the list view. Although it sounds
complicated, it's easy with Rob's code.