|
![]() |
#1 |
Junior Member
Join Date: Aug 2014
Posts: 44
|
nsDialogs - NSD_SetText "timing" issue
Hi,
I have the following function: code: Basically what I do is generate an encrypted "license" which will be displayed to the user in a text field. If the checkbox "Auto Apply" is checked, the license will also be added to the config file. My problem is the following: I would like the text field to be updated with the value of the license before the other operations (kill my process, write to ini, kill my service) but it doesn't. The value is added only when all the other things are done. Any idea why? Thanks, Mircea |
![]() |
![]() |
![]() |
#2 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,355
|
You are performing operations on the UI thread that prevents it from processing messages. A quick solution might be to call RedrawWindow with the system plugin but it is better to use the BgWorker plugin...
IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#3 |
Junior Member
Join Date: Aug 2014
Posts: 44
|
Hi Anders,
thanks for the suggestion(s). I tried the BgWorker plugin. I have the following code now: code: Problem is, the installer crashes whenever I enable my CheckBox and call the generate function... |
![]() |
![]() |
![]() |
#4 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,355
|
Why did you not comment things out until you found the line with the actual problem? Not everything works when called on a background thread because NSIS and plugins were never designed to do this. You are also missing a lot of Pop's in your code.
I can't get it to crash: PHP Code:
IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#5 |
Junior Member
Join Date: Aug 2014
Posts: 44
|
Hi again,
I used the system messages instead of BgWorker and it works (also added the Pops). Thanks for all your help! Mircea |
![]() |
![]() |
![]() |
#6 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,355
|
Not sure why you call it a message. UpdateWindow paints the window once but your UI is still technically not responding and long running actions are not recommended.
IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|