PERL- kako napraviti delay dok se posao ne zgotovi

poruka: 1
|
čitano: 1.303
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
offline
PERL- kako napraviti delay dok se posao ne zgotovi

Imam problem sa jednim programom u pisanim u PERL-u +gtk2. To je program za skeniranje. Dakle, imam formu koja mi šalje E-mail. Kad kliknem na OK otvara se thunderbird sa PDF-om kojeg želim poslati. Međutim klikom na OK prvo se poziva funkcija za kreiranje tog PDF-a i iza se otvara thunderbird. U nekim momentima kod većih dokumenata dolazi do problema jer se prije pošalje E-mail nego se PDF sačuvao do kraja. Želio bi napraviti prekid izvođenja programa dok funkcija za kreiranje PDF-a ne obavi svoj posao do kraja.

Inače sam totalni početnik u perlu i probao sam  sa korištenjem wait funkcije ali nikako.

 

primjer koda.

 

$sbutton -> signal_connect (clicked => sub {

# Set options
  update_PDF_settings($entrya, $entryt, $entrys, $entryk);

# Create the pdf

#TU BI ŽELIO NAPRAVITI PREKID DOK SE ZAVRŠI create_PDF i KAD ON ZAVRŠI DA SE NASTAVI SA SLANJEM E-maila
 my (undef, $pdf) = tempfile(DIR => $SETTING{session}, SUFFIX => '.pdf');
create_PDF($pdf)
   

# Check for thunderbird
  my ($client, $status);
  if (defined($ENV{KDE_FULL_SESSION}) and $ENV{KDE_FULL_SESSION} eq 'true') {
   $client=`kreadconfig --file emaildefaults --group PROFILE_Default --key EmailClient| cut -d ' ' -f 1`;
  }
  elsif (defined($ENV{GNOME_DESKTOP_SESSION_ID})
   and $ENV{GNOME_DESKTOP_SESSION_ID} ne '') {
   $client=`gconftool --get /desktop/gnome/url-handlers/mailto/command | cut -d ' ' -f 1`;
  }
  if ($client =~ /thunderbird/) {
   $status = system("thunderbird -compose attachment=file://$pdf,subject=Stanica za skeniranje");
  }
  else {
   $status = system("thunderbird -compose attachment=file://$pdf,subject=Stanica za skeniranje");
  }
  show_message_dialog($window, 'error', 'close', $d->get('Error creating email'))
   if ($status);

  $windowe -> hide;

 } );

 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice