Sorry if this was already said, but I haven't had time to pay much
attention lately, and this post caught my interest.  I originally wrote
this for a program I never released.  Some of what it does may or may
not be helpful, just edit it to suit your needs.

ok, heres the simple way to keep your dialog active:

my $total = 0;
my $expected;
my $result = "";
$UA->request(HTTP::Request->new(GET=>'www.whatever.com'),
      sub {

         my($chunk,$res) = @_;

         #Total amount of data downloaded
         $total += length($chunk);

         #Not important unless you are using the below if statement for
a status or progress bar.
         unless(defined $expected){
            $expected = $res->content_length || 0;
         }

        #Add the new data to the old data.
        $result .= $chunk;

         #In this program, I had a status bar, and I was reporting the
progress on it, could also be used with a progress bar...  Remove if not
needed.
         if($expected){
            $win->StatusBar->Text("Rescieving: $total / $expected");
         }else{
            $win->StatusBar->Text("Rescieving: $total / ???");
         }

         #This is the key!  Keeps the window alive.
         Win32::GUI::DoEvents() >= 0 or exit;

   });

I'm afraid I can't go into much detail at the moment to explain it, but
if you have any questions, feel free to ask.
begin:vcard 
n:Couchman;Stephen
x-mozilla-html:TRUE
url:http://guildms.sourceforge.net
org:United Online Entertainment;GMS
adr:;;;Pittsfield;Mass;01201;USA
version:2.1
email;internet:[EMAIL PROTECTED]
title:Lead Programmer
fn:Stephen "Flame" Couchman
end:vcard

Reply via email to