AxemanMK
09-20-2006, 11:21 AM
This problem is very difficult to describe, but I'll do my best.
I am using SF7, with all the latest updates.
I have a project to install our software, which creates the uninstaller, and another project that simply updates our software over the top.
The problem I have is with the update project....
On the "After Installing" section, I have a series of Double Progress Bars screens that perform task after task. Everything worked beautifully untill I added 2 more similar screens to copy some additional files from server back to client. These screens are in positions 16 and 17 of a total of 21 screens.
The first of the 2 new screens seemed to be getting skipped at runtime, but the second screen would perform its "copy" task as required.
I double and triple checked all of my IF statements to ensure that I wasn't actually skipping the screen by design, and indeed I wasn't.
I decided to add screen debugs to every screen in the project that simply displayed a dialogue message to tell me which screen I was on. Code Below..
--------------------------------------------------------------------------
--Per Screen Debug.
if TurnOnScreenDebugs == true then
tblScreenProperties = Screen.GetProperties();
Dialog.Message("At Screen", tblScreenProperties.ScreenName.." - On Start", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
--------------------------------------------------------------------------
The above code I added to "On Preload", "On Next", "On Start" where appropriate, so I could see at which point of each screen I was getting to.
On the screen in question, the above code was the ONLY code on the "On Preload" section.
Now... The problem was, that the 16th screen would ALWAYS skip any code that was in the "On Start" section.
I proved this by deleting all code within the "On Start" section, except for my screen debug above.
When I ran the project, I had the dialogue message telling me that it had reached the 16th screen and was at the "On Preload" section, but would NEVER give me the dialogue message telling me that it was at the "On Start" section.
So as you can see, I was indeed reaching the screen itself and not skipping it, and yet the "On Start" section would always be skipped !
This drove me insane for 2 days !
I have created a work around by simply adding a progress bars screen at the 16th position, labelled "Dummy Skip Screen" that does absolutely nothing. Again, using the screen debugs, the "On Start" section of the dummy screen is STILL being skipped, but as the screen does nothing, its not a problem. Consequently, both of my actual screens perform their tasks beautifully, AFTER the dummy screen.
I know this sounds crazy.. But its true.
Reading some of the forums, I decided to disable my AV software and recompile, but the behaviour remained.
Has anyone heard of such a thing ???
Many thanks.... Andy
I am using SF7, with all the latest updates.
I have a project to install our software, which creates the uninstaller, and another project that simply updates our software over the top.
The problem I have is with the update project....
On the "After Installing" section, I have a series of Double Progress Bars screens that perform task after task. Everything worked beautifully untill I added 2 more similar screens to copy some additional files from server back to client. These screens are in positions 16 and 17 of a total of 21 screens.
The first of the 2 new screens seemed to be getting skipped at runtime, but the second screen would perform its "copy" task as required.
I double and triple checked all of my IF statements to ensure that I wasn't actually skipping the screen by design, and indeed I wasn't.
I decided to add screen debugs to every screen in the project that simply displayed a dialogue message to tell me which screen I was on. Code Below..
--------------------------------------------------------------------------
--Per Screen Debug.
if TurnOnScreenDebugs == true then
tblScreenProperties = Screen.GetProperties();
Dialog.Message("At Screen", tblScreenProperties.ScreenName.." - On Start", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
--------------------------------------------------------------------------
The above code I added to "On Preload", "On Next", "On Start" where appropriate, so I could see at which point of each screen I was getting to.
On the screen in question, the above code was the ONLY code on the "On Preload" section.
Now... The problem was, that the 16th screen would ALWAYS skip any code that was in the "On Start" section.
I proved this by deleting all code within the "On Start" section, except for my screen debug above.
When I ran the project, I had the dialogue message telling me that it had reached the 16th screen and was at the "On Preload" section, but would NEVER give me the dialogue message telling me that it was at the "On Start" section.
So as you can see, I was indeed reaching the screen itself and not skipping it, and yet the "On Start" section would always be skipped !
This drove me insane for 2 days !
I have created a work around by simply adding a progress bars screen at the 16th position, labelled "Dummy Skip Screen" that does absolutely nothing. Again, using the screen debugs, the "On Start" section of the dummy screen is STILL being skipped, but as the screen does nothing, its not a problem. Consequently, both of my actual screens perform their tasks beautifully, AFTER the dummy screen.
I know this sounds crazy.. But its true.
Reading some of the forums, I decided to disable my AV software and recompile, but the behaviour remained.
Has anyone heard of such a thing ???
Many thanks.... Andy