New IDE (2013R3) Issues

Hi,
When building my application for Windows with the new IDE (2013R3) I have noticed a few negative changes in how things function.

  1. I have a primary window which is always open, and other windows open and close in front of it. Before, the primary window would always stay behind the new windows. Now if the user clicks on it, it comes in front of the other windows and hides them behind itself. Is there anyway of working around this?

  2. The OpenPrinterDialog has changed to an inferior window that crashes out half the time. Does anyone have an idea why this would be the case?

Thanks in advance,
Josh

Did you recently upgrade Windows?
I recall that the dialog changed a few years back and stopped displaying a button to change the printer, among other changes…

This is standard behavior if all the windows are “Document” type windows. You could make the secondary windows be “floating” windows to keep them in the front.

Place this in a module and call it like so myWindow.SetToBottom I do apologize, but no testing was done with this code, but it should work (or at least get on the right way)… The &h0213 means not to change the z-order, don’t activate this window and we’re not resizing it or moving it with the SetWindowPos call…

Sub SetToBottom(Extends w As Window) #if TargetWin32 Declare Function SetWindowPos lib "user32" (hWnd As Integer, hWndInsertAfter As Integer, X As Integer, Y As Integer, cx As Integer, cy As Integer, uFlags As Integer) As Integer Call SetWindowPos(w.Handle, 1, 0, 0, 0, 0, &h0213) #endif End Sub

Hi Jeff and Paul,
Thanks for your help with this.

I haven’t updated Windows recently, it’s just Windows 7. If I build using Xojo 2013R2 both problems are corrected, so I don’t think that it’s the Windows platform. My company runs the software on about 40 odd machines and they all seem to be doing the same thing.

I don’t change my code at all, I simply save it in 2013R3, load it up in 2013R2 then build and it’s fine. If I build it in 2013R3 both issues are there.

The Primary Window is a Document window, all of the others are floating windows.

Thanks again,

Hi Shao Sean,
Thanks for your help with this too. I’ll certainly try it.

Would this method be called with every new window that opens, or only once on the primary window?

Thanks,
Josh

I just tried a quick app with one document window and two floating windows, but the document window always stays behind the floating windows.

I’m not aware of any changes in r3 that would affect this and I don’t see anything in Feedback. If you could create a Feedback case for this with an example that shows the problem, we can have someone take a look at it.

Hi Paul,
It looks like I have figured it out.

It looks like I made a mistake with my description earlier in this thread, my Primary Screen was actually a “Rounded Window”. Which I thought was a type of Document Window.

If you create a project with the primary window as a “Rounded Window”, then compile it on 2013R3 all of the other windows (floating windows) will go behind if you click on the primary window. If you compile it on 2013R2 they will stay in front.

This “Rounded Window” also changes the Printer Dialog Screen as well, if it’s compiled on 2013R3, you get an inferior dialog box which requires you to use the mouse to select your printer. If you compile on 2013R2, you get the standard dialog box that allows you to arrow to the printer that you want. If you change the window to “Document Window”, then you get the standard dialog box.

I’m not sure whether this is supposed to happen or not, but it was confusing because of the definite change between versions.

Regards,
Josh

That is weird. The “Rounded” type is supposed to be the same as Document, but I can reproduce your issue if I change the primary window to “Rounded”. Since it looks like simply changing the type to “Document” gives you the behavior you want, I recommend that. :slight_smile:

We should probably consider deprecating and removing the “Rounded” Window type.