I’m seeing an oddity in my app when compiled for 64 bits. I see this in OS X (not sure about Windows). Anyhow, I have a configuration/preferences window for my app where all the setup goes. When the user opens this window, it opens on top of the main app window. If they make changes and save them, the configuration window closes and I also close the main app window. This causes the app.CancelClose event to fire. I then prevent the app closing and via a timer, I basically reload the app from scratch so that I get all the new settings that the user has made.
This works great in 32 bit. However, in 64 bit, it works but the main window doesn’t close. It just becomes a “ghost” window that is there. I can move it around, but I can’t close it or interact with it or do anything like that. It’s just there and non-functional. The app continues to work fine. I just have that “ghost” window.
This would make a good bug report, if you can attach a project that demonstrates.
I should see if I can make an example project with it that’s much simplified…
Well, a little update.
In the close event for my configuration window, I called the close method of my main window. Then that would set in motion the rest of the chain of events.
I now use Xojo.Core.Timer.CallLater to run a callback method that closes the main window. This works great now and doesn’t leave a ghost window. But it seems like the Timer callback method does not execute at any time anywhere near the specified time period. I have the timer interval set at 50 milliseconds. But it’s like 5 seconds later with a spinning beach ball in between. Very long time. I’ll have to put some debugging statements with time stamps to see what’s happening.
And yes, if I put it in a scaled down sample project, that would be best. Absolutely. But I’m getting ready to join Mickey and friends on a cruise and don’t have a lot of free time right now.
FWIW (not very much, I know), I couldn’t replicate this. Have fun with Mickey.