in reply to Win32::OLE freezing Tk
Most likely, the delay is when shutting down Powerpoint as $ppt goes out of scope.
You can test this theory by explicitly clearing out $ppt yourself:
$presentation->SaveAs("SAVED_" . $filename); $presentation->Close; undef $ppt; # Clean up Powerpoint $mw->messageBox (-title => "message", -message=>"DONE!", -icon=> 'info +');
There is very little way around this, but if you plan to convert more than a single presentation in one go, it might make sense to declare $ppt as a global variable and keep it around:
our $ppt; sub save_PPT { # ... $ppt ||= Win32::OLE->GetActiveObject('PowerPoint.Application'); # ... and also later: $ppt ||= Win32::OLE->new( 'PowerPoint.Application', sub { $_[0]->Quit } ) or return 'error'; # ---
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Win32::OLE freezing Tk
by Takamoto (Monk) on Dec 23, 2019 at 15:49 UTC | |
by marto (Cardinal) on Dec 23, 2019 at 16:20 UTC | |
by Takamoto (Monk) on Dec 23, 2019 at 17:58 UTC | |
by bliako (Abbot) on Dec 24, 2019 at 10:37 UTC |