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;
} );