[Lazarus] animated splash screen for lengthy operation, works with windows, doesn't with linux

Luca Olivetti luca at wetron.es
Mon Mar 27 10:34:33 CEST 2023


El 27/3/23 a les 10:13, Jean SUZINEAU via lazarus ha escrit:
> 
> Le 27/03/2023 à 09:46, Luca Olivetti via lazarus a écrit :
>> procedure TUpdateThread.Execute;
>> begin
>>   while not Terminated do
>>   begin
>>     FWaitForm.ShowProgress;
>>     Sleep(30);
>>   end;
>> end;
> 
> Usually I use TThread.Synchronize to ensure that the graphic code is run 
> by the main thread.
> 
> But it won't work if your main thread is blocking.

Exactly

> 
> May be you should do the inverse move the lengthy operation to a 
> separate thread and keep the main thread for the splash screen ?

Yes, I usually do that, but in this case it's not possible (the lengthy 
operation is just a  TSQLQuery.open that I cannot delegate to a 
different thread).

Bye
-- 
Luca Olivetti
Wetron Automation Technology http://www.wetron.es/
Tel. +34 93 5883004 (Ext.3010)  Fax +34 93 5883007



More information about the lazarus mailing list