GDC 2.40 upgrade guide
This topic lists differences you may encounter when upgrading to GDC 2.40.
Corresponding new features page: GDC 2.40 new features.
Previous upgrade guide: GDC 2.30 upgrade guide.
WinDDE prevents simultaneously connecting twice with the same identifier (program + document)
WinDDE is now preventing from connecting twice simultaneously with a same identifier. This identifier is a concatenation of the program and the document. For better understanding to what program and document refer to in WinDDE terms, see the WinDDE documentation in the Genero Business Development Language User Guide. For instance, it may correspond to "EXCEL"+"Sheet1" on Microsoft™ Excel.
This change has been made because the various DDE objects are stored based on the identifier. When connecting a second time with the same identifier, the previously created DDEObjects were simply lost, as there were no longer references to them. You can no longer call DDEConnect twice with the same identifier without calling DDEFinish(All) in between.
GDC now listens to localhost only (default behavior)
Before 2.40, GDC opens a network server listening to any connection on a given port (6400 by default). This means that anyone can connect to GDC (depending on your firewall settings). The Security Level mechanism protects your installation, but the tcp port is still open.
GDC 2.40 default behavior is now to listen to the local interface only. Any connection from an other computer will be (by default) denied.
Connection from localhost (for developers having the DVM on the same machine, and when using SSH and port forwarding) will continue working as before. In order to facilitate GDC use for installations not using SSH and port forwarding, GDC will automatically listen to all interfaces when a direct shortcut (except for ssh+portforwarding) is started, therefore existing configurations are still working as before. This "any interface" server will be shut down a couple of minutes after the last connection (application or terminal) is over.
The recommended way to set up a direct connection is to use SSH and automatic port forwarding. In this configuration, your connection is secured by SSH, the communication is encrypted, and as GDC will be listening to the local interface only. No Firewall popup will occur when starting GDC the first time.
Override the default behavior with the command line argument --listen
.
--listen ANY
makes GDC 2.40 work as before, listening to any connection.--listen NONE
prevents GDC 2.40 listening at all. This is suitable when you are running HTTP connections only.--listen LOCAL
makes GDC 2.40 listen to localhost only. This is suitable when you are running SSH + port forwarding and local development only.
The -D
flag (to activate debug mode) implies the --listen ANY
mode, to ease development. See GDC command line for more details.
Modal window behavior change
If you create a window using the windowType=modal
StyleAttribute, GDC now
considers this window as a real modal window:
- the window is modal to a base window (the previous current window)
- the modal window has no entry in the taskbar, and will not appear in the ALT+TAB (or windows KEY+TAB for Windows® 7) sequence. Only the base window will appear.
Usually, the "modal chain" must be respected:
- it should be forbidden to close the base window without closing the modal window
- it should be forbidden to make current a non modal window if a modal window is displayed
To ease the migration from earlier versions, GDC will handle these cases by removing the modality of the window.
Title of an horizontal menu is now visible
When setting a title for an horizontal menu (by setting the style attribute
ringMenuPosition
to top
or to bottom
), this title
is now visible on the form. It was not the case in previous GDC versions. Nevertheless, if the menu
doesn't contain any button (because for instance all action views reported are on the ToolBar), the
title will be automatically hidden.
Changes in earlier versions
Make sure to check the upgrade notes of earlier versions, to not miss changes introduced in maintenance releases. For more details, see GDC 2.30 upgrade guide.