Professional Documents
Culture Documents
Welcome To Clarion 6
Welcome To Clarion 6
Note: The APP and DCT file formats have changed from Clarion 5x. If you open and
save an application or dictionary with Clarion 6, you cannot open it again with any older
version of Clarion. You should back up your .APP and .DCT files before using them in
this release.
----------------- There was an issue reported whereby extra sets of caption buttons and
icons sometimes appeared in the Frame. This occurred only if multiple child windows
had been maximized “simultaneously”. The roots of this problem are in the MDI
implementation in Windows itself, and hence are beyond the control of the Clarion RTL.
The problem is that access to the structure for handling the current MDI state is not
synchronized by Windows, and hence if multiple MDI child windows execute messages
that update this structure at the same time, it can become inconsistent and cause incorrect
displays. We have not found a way to safely synchronize processing of messages sent by
Windows on maximization of MDI windows in the RTL without risk of locking the
program.
If you encounter the above display problem because you are starting many MDI windows
simultaneously and in maximized state, there are several ways you can attempt to avoid
it. One useful technique you can implement to serialize windows opening/maximizing is
to make use of the new NOTIFY/NOTIFICATION functions, as shown below:
put code to maximize a window at its start before the ACCEPT loop and use
NOTIFY from the code for EVENT:Maximized to notify the parent window that it
can start the next window: for ABC
in ThisWindow.Init
... OPEN(QuickWindow) SELF.Opened=True ...
INIMgr.Fetch(‘ProcedureName’,QuickWindow) ...
The Frame can use EVENT:Notify as a signal that the previous child window is started.
This can give Windows time to update internal structures for handling MDI windows.