|
Document revision: 2024-05-27
Refers to JDLG version: 2.0.18
Contents
What's new in JDLG 2.0
- Improved overall performance due to a revised memory management.
- Improved DLG protocol
performance, to make better use of available network bandwidth, and
to lower network latency. The new attribute value cache helps to
futher reduce network traffic.
(Note: Requires Eloquence
B.08.30 or newer.)
- Support for secure TLS-encrypted
DLG communication.
(Note: Requires Eloquence
B.08.30 or newer.)
- Enhanced support for applications using
multiple sessions.
Related new attributes:
System.notify[],
Dialog.notify[],
Dialog.yield
- Strings and messages configuration
allows to customize and/or to localize the text strings and messages
embedded in JDLG. This includes the titles and menus of the JDLG console
window and subwindows, including the login dialog, as well as program
messages.
- IPv6 support.
The Internet Protocol version 6 (IPv6) is an improved version of the
Internet Protocol (IP), developed to address, among others, the
anticipated problem of IPv4 address exhaustion.
Note: IPv6 addresses must be specified in square brackets.
- JDLG 2.0.1
- Supports the EQWS utility, a simple and
lightweight alternative to Java Webstart (javaws) which is no longer
included in Oracle™ Java since version 11.
- JDLG 2.0.5
- Simplified JDLG configuration.
The eloquence.config.sessions
configuration property now accepts either an URL or a file name, i.e.,
using a file: URL is no longer necessary.
This also allows, for example, to use the $(USERPROFILE)
environment variable on Windows to read the configuration file from
the current user's home directory.
If a relative file name or URL is specified it is resolved relative
to the location of the jdlgS.jar file, or if Java Webstart or EQWS
is used, relative to the JNLP codebase directory.
This modification applies to all properties used to read configuration
files. Consequently, the
eloquence.config.file and
eloquence.config.url properties are
equivalent.
The new eloquence.config property
may now be used instead of
eloquence.config.file and
eloquence.config.url.
- JDLG 2.0.6
- JDLG 2.0.9
- JDLG 2.0.10
- JDLG 2.0.14
- JDLG 2.0.16
- JDLG 2.0.18
- New Dialog.notify
WEBDLG2 compatibility attribute
(without index) to remove all notification codes from a Dialog.
Release history
- Current version:
- JDLG 2.0 was released in December 2018.
- Previous versions (obsolete):
- JDLG 1.7 was released in July 2015.
- JDLG 1.6 was released in January 2013.
- JDLG 1.5 was released in July 2009.
Recent changes
Changes in
JDLG version 2.0.18:
- The Dialog.notify
WEBDLG2 compatibility attribute (without index)
may be set to zero to remove all notification codes from a Dialog.
- Tree: Fixed a problem where a rule was unexpectedly triggered on mouse
button single click outside a Tree entry. This was a regression introduced
with the eloquence.config.delay.singleclick
configuration property.
- Fixed a problem starting with Java version 18 where eloqsd login
credentials containing international characters were transferred using
a wrong character encoding. The Java default encoding was changed with
Java 18.
Changes in JDLG version 2.0.17 (superseded):
Changes in JDLG version 2.0.16 (superseded):
- The following WEBDLG2 compatibility
attributes have been implemented.
Application:
browser[],
lastnotify,
name,
start[]
Menu:
icon,
textpos
System:
start[]
WindowMenu:
icon,
textpos
- The
eloquence.config.delay.singleclick
configuration property has been added to configure the
ListBox.singleclick and
Tree.singleclick behavior.
- ListBox: The rulekey
attribute no longer returns separate Numpad UP/DOWN key codes.
- Fixed Java StackOverflowError when specifying a relative
eloquence.config.logoicon URL.
- Application: Fixed a race condition which could cause
start atoms
not to be passed on
Application.start.
- Work around internal Java NullPointerException as observed with
Java version 1.8.0_221, caused by setting text which contains invalid HTML:
Exception in thread "AWT-EventQueue-0"
java.lang.NullPointerException
at javax.swing.text.html.ImageView.updateImageSize
This exception is handled by removing the HTML formatting, i.e., displaying
the plain text. In addition, an error
log message is issued with details about the affected object and the
text being set.
- EditText: Fixed a potential NullPointerException which did not
have any user-visible effect (EEditText.scrollToCaret).
- POPUP BOX: Fixed a potential NullPointerException which could
cause the DLG session to abort (status code 684).
- Login Dialog: Fixed a regression which caused the OK button to remain
disabled although login and password have been entered.
- Fixed login credentials not cached if specified in the
application configuration.
Changes in JDLG version 2.0.15 (superseded):
- ListBox: Fixed toolhelp[]
attribute displaying unrelated text when lines are not in physical order.
Changes in JDLG version 2.0.14 (superseded):
- Application: New start
attribute, similar to System.start,
but in addition allows to pass specific information as
start atoms to
the new session.
- Application: New
startatom[] attribute to
specify start atoms to be passed to a new session started
using the
Application.start attribute.
- Application: New
startatoms attribute to
query the start atoms.
- ComboBox: New boxwidth
attribute to set the item list wider than the object width.
- ListBox: New rulekey
attribute, allows to query the key code which caused a rule submission.
- ListBox: New toolhelp[]
attribute to set toolhelp text
for specific ListBox lines.
- ListBox bug fix: The horizontal scroll bar could unexpectedly appear when
a ListBox receives the keyboard focus.
- ListBoxHeader: New userhide
attribute to specify whether a column is included in the
column context menu.
- PopText: New boxheight
attribute.
- PopText: New boxwidth
attributes to set the item list wider than the object width.
- Splitter: The rule
attribute, if nonzero, notifies a program when the user has moved the
divider.
- System: The notify[]
attribute has been enhanced to delay notification in case an active
Dialog is currently not interactive, or if a POPUP BOX is
currently open.
- System: New notifyall[]
attribute to send notifications
to all Dialogs in other sessions, including currently inactive Dialogs.
- New common attributes
wmin,
wmax,
hmin,
hmax.
In the current implementation these attributes limit the range the
user can move a Splitter divider.
- Fixed wrong DLG DRAW status code 658 if the specified Dialog
does not exist. Now the expected status 656 is returned.
Changes in JDLG version 2.0.13 (superseded):
- ListBox: The
rowheight attribute
did no longer work, caused by a regression introduced with JDLG
version 2.0.10.
Changes in JDLG version 2.0.12 (superseded):
- Fixed a problem causing sessions to become unexpectedly started if the
JDLG application list gets the focus when a Dialog becomes invisible
after an ENTER rule has been issued.
- Fixed potential POPUP BOX creation issues caused by wrong thread context.
- Fixed unexpected "Java Event Dispatch Thread blocked" error message
during JDLG initialization.
Changes in JDLG version 2.0.11 (superseded):
- Fixed potential DLG object creation issues caused by wrong thread context.
- ListBox: Fixed various race conditions, potentially causing internal
errors which could cause the current session to unexpectedly abort.
The previous fix in JDLG 2.0.10 was incomplete.
- Configuration: Fixed potential IllegalStateException startup error
when eloquence.config.lookandfeel specifies a 3rd-party class name.
Changes in JDLG version 2.0.10 (superseded):
- New Application attributes
mousebutton and
mouseclickcount
to query which mouse button(s) were clicked how often after a rule has
been submitted.
- Fixed Dialog activation. Activating an entry in the
WindowMenu, or invoking
System.activate,
now makes the Dialog window visible if it is minimized.
- ListBox: Fixed various race conditions, potentially causing internal
ArrayIndexOutOfBoundsException and NoSuchElementException errors which
could cause the current session to unexpectedly abort.
- ListBox: Fixed potentially wrong active line after
DLG SET add has been invoked.
- Login dialog: Fixed a problem where the Password field was unexpectedly
focused after the ENTER key is used to select a session list entry.
- Login dialog: The ESC key now closes the login dialog.
Changes in JDLG version 2.0.9 (superseded):
- New attributes
Application.atoms
and System.atoms to query
current local and global atoms.
- Fixed an internal deadlock condition which could in rare cases cause
the current Dialog to no longer respond.
- TabBox: If empty (no
GroupBox child objects present)
the current session could unexpectedly abort due to an
ArrayIndexOutOfBoundsException.
- ListBoxHeader: If the user changes
the width of the first ListBox
column a subsequent
DLG GET w
wrongly returned the initial column width.
- Fixed a problem in the Show Sessions dialog. The session list
was not updated while the dialog is open. Also, wrong entries were
sometimes displayed. The Active Dialogs dialog was always
opened in background when Show Sessions is open.
- Revision 2.0.9-3: Fixed Java Webstart certificate verification problems.
Verification could fail because an intermediate certificate as well as
the timestamps expired on 2020-05-30.
Changes in JDLG version 2.0.8 (superseded):
- Fixed a regression introduced with the previous JDLG version 2.0.7,
again potentially causing an unexpected object position when the
xauto attribute is set to -1.
- Release 2.0.8-2: Fixed
System.jdlgversion
reporting wrong version info (2.0.7 200422 1727).
Changes in JDLG version 2.0.7 (superseded):
- ListBoxHeader: DLG GET
line or
vline could return
wrong values if invoked after the ListBox
content is modified but before the next DLG DO or DLG DRAW
is invoked.
- Fixed a problem potentially causing an unexpected object position when the
xauto attribute is set to -1.
Changes in JDLG version 2.0.6 (superseded):
- New EditText and
ComboBox attributes, introduced to
help implementing an autocomplete function.
New EditText attributes:
tcrule,
tcminchars,
tcdelay
New ComboBox attributes:
tcrule,
tcminchars,
tcdelay
- New ComboBox.open attribute,
typically used to implement an autocomplete function.
Defines whether the item list should be opened automatically when
an editable ComboBox receives the
keyboard focus.
- New ListBox.vcrule attribute,
allows a program to act upon ListBox view
property changes such as column order, column visibility, sort sequence.
- ComboBox: The item list did not always
expand as expected when items are added to the list.
- ComboBox: When the content is set it could
happen that the corresponding item was not selected as expected.
- GroupBox: If a GroupBox has scroll bars,
the mouse wheel now works as expected across the entire GroupBox area.
- ListBox: A mouse (double-)click now issues
a rule only when a row is clicked.
- ListBox: In a single column ListBox without
a column header, the horizontal scroll bar could unexpectedly appear when
the focus is moved away.
- TabBox: Fixed a potential
ArrayIndexOutOfBoundsException:
Exception in thread "AWT-EventQueue-0"
java.lang.ArrayIndexOutOfBoundsException: ...
at javax.swing.plaf.basic.BasicTabbedPaneUI.paintTabArea
- Fixed a problem where eloqsd login credentials were cached although
a previous eloqsd authorization had failed.
- The user's IP address has been added to the log output.
Changes in JDLG version 2.0.5 (superseded):
- Simplified JDLG configuration.
The eloquence.config.sessions
configuration property now accepts either an URL or a file name, i.e.,
using a file: URL is no longer necessary.
This also allows, for example, to use the $(USERPROFILE)
environment variable on Windows to read the configuration file from
the current user's home directory.
If a relative file name or URL is specified it is resolved relative
to the location of the jdlgS.jar file, or if Java Webstart or EQWS
is used, relative to the JNLP codebase directory.
This modification applies to all properties used to read configuration
files. Consequently, the
eloquence.config.file and
eloquence.config.url properties are
equivalent.
The new eloquence.config property
may now be used instead of
eloquence.config.file and
eloquence.config.url.
- The Dialog.do Cancel Dialog
functionality did no longer work as documented, caused by a regression
introduced with JDLG version 2.0.4.
Changes in JDLG version 2.0.4 (superseded):
Changes in JDLG version 2.0.3 (superseded):
Changes in JDLG version 2.0.2 (superseded):
- Work around a rare NullPointerException when DLG DO submits a rule.
Internal failure: java.lang.NullPointerException
at java.nio.CharBuffer.wrap
at com.eloquence.services.protocols.dlg.Dmdrv_V2.encodeString
at com.eloquence.services.protocols.dlg.Dmdrv_V2.encode
at com.eloquence.services.protocols.dlg.Dlg$Rq$DO.exec
at com.eloquence.services.protocols.dlg.Dmdrv_V2.exec
at com.eloquence.services.protocols.dlg.Dlg.run
at java.lang.Thread.run
If DLG DO returns with a null path, the rule submission is ignored
and the log message below is output along with a stack dump:
BUG: path == null
- Work around blocked Event Dispatch Thread due to internal Java deadlock.
If processing a single Java event takes more than 5 seconds, the Event
Dispatch Thread is signaled and the log message below is output:
Java Event Dispatch Thread
blocked for more than 5 seconds - signaling
Changes in JDLG version 2.0.1 (superseded):
- Supports the EQWS utility, a simple and
lightweight alternative to Java Webstart (javaws) which is no longer
included in Oracle™ Java since version 11.
- Includes source code line number information to improve diagnostics
in case of a problem. As a result, the jdlgS.jar file size has increased
by 15%.
Changes in JDLG version 2.0.0 (superseded):
Changes in JDLG version 1.7.7 (obsolete):
- Please note: The last and only JDLG 1.7.7 release is
1.7.7 181207 1336 (beta version).
This version is no longer supported, please update
to JDLG 2.0.
- Changed the reference
point behavior if the first Dialog a program displays
is centered.
Previously, if the first Dialog a program displays is centered, the
reference point was set to this Dialog's x/y position. As a consequence,
following Dialogs which are not centered were displayed relative to
the first Dialog's position. For example, a Dialog opened afterwards
at position 0/0 was displayed at the 0/0 position of the centered
first Dialog.
However, if a program wants to use the reference point to affect the
first Dialog's centered position, this did not work.
For this reason, the behavior was changed. If the first Dialog is
centered, the reference point is no longer modified, but the reference
point adjusts the Dialog's x/y position. As a consequence, following
Dialogs which are not centered are displayed at their x/y position.
For example, a Dialog opened afterwards at position 0/0 is now displayed
at the 0/0 screen position adjusted by the reference point.
- New GroupBox attributes:
vx and
vy to get/set the scroll bar
position of scrollable GroupBox objects.
- Fixed a compatibility issue with Java 9 or newer.
On Java 9 or newer, JDLG versions 1.7.5 and 1.7.6 fail to start or expose
unexpected behavior. An error message like below was logged:
class com.eloquence.services.jdlg.controls.ESystem$TypeAheadManager ...
cannot access class sun.java2d.SunGraphicsEnvironment (in module java.desktop)
because module java.desktop does not export sun.java2d to unnamed module ...
- Note: To use the JDLG drag & drop
functionality with Java 9 or newer, access to the javax.swing and
javax.swing.plaf.basic Java packages must be allowed.
If you start JDLG using Java Webstart (JNLP),
add the java-vm-args attribute to the
<j2se ... /> tag, as shown below:
<j2se version="1.5+"
java-vm-args="--add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED" />
If you start JDLG using a Java command line,
the --add-opens options above must be specified at the beginning
of your command line.
Java 9 also supports the --permit-illegal-access command line
option which may be used as an alternative to the --add-opens
options above. Please note that this option has been replaced with
--illegal-access=permit in newer Java versions.
For example:
java --permit-illegal-access -jar jdlgS.jar
java --illegal-access=permit -jar jdlgS.jar
- ComboBox: Fixed a compatibility issue
with Java 9 or newer where ComboBox objects were not displayed as expected.
- HtmlView: DLG SET
content,"" did not clear
the URL (#4267).
- ListBox: In a single column ListBox
without a column header, the horizontal scroll bar was not displayed
when necessary.
- Using the
ListBoxHeader.format
attribute with values using HTML content did not work.
- Setting the
ListBoxHeader.autowidth
attribute could cause an unexpected column width if HTML content is used.
- Tree: Fixed a problem where DLG SET
activeline was not always
executed on the next DLG DO or DLG DRAW invocation (#4266).
- Tree: If no background color is set, a Tree
could initially display a white background which disappeared when the
Tree gets focued for the first time. This was a side effect of fix #4237
in JDLG version 1.7.6.
- Fixed a problem observed on Windows 10 where the JDLG console window did
not display as expected after its task bar icon was double-clicked (#4271).
- Observed a rare NullPointerException:
java.lang.NullPointerException at
Dialog.DoResponseMessage.getNetworkPresentation
...
A diagnostic message is logged in case this happens.
- Implemented a workaround for a problem observed since Java version
1.8.0_161.
When switching program windows, moving away from JDLG to a different
program, then moving back to a JDLG Dialog
where an EditText object has the focus,
an internal loop might be triggered which consumes 100% CPU load.
This problem is specific to the Windows platform.
Changes in
JDLG version 1.7.6 (obsolete):
Changes in JDLG version 1.7.5 (obsolete):
- New functionality: Drag & drop
- Fixed a problem which could cause a Dialog
to stop responding for 10 seconds when holding down the TAB or ENTER
key to quickly move forward the focus.
This was caused by an internal race condition in the
typeahead function.
- Fixed a problem where under certain conditions previous
Dialog contents were visible although
new contents were set (#4236).
This could happen if the Dialog is
updated while invisible, and after that is made visible.
- Fixed a problem where in some cases Dialogs
were only partially displayed when JDLG is used in a Windows Remote
Desktop session where the user disconnects and then reconnects the
session (#4226).
An error message like below was logged:
Exception in thread "AWT-EventQueue-2"
java.lang.NullPointerException at
com.sun.java.swing.plaf.windows.WindowsTableHeaderUI$XPDefaultRenderer.paint
...
Disconnecting and reconnecting a Windows Remote Desktop session may under
certain conditions invalidate current renderer objects which JDLG wrongly
continued to use.
- ComboBox,
EditText: Under certain conditions it
could happen that the content was not left aligned.
- ListBox: In some cases setting the
cy attribute was ignored if the
focus attribute is set
afterwards.
- ListBox: DLG GET
modelorder[],
vieworder[] or
vline[] could return wrong
results if invoked after the ListBox
content is modified but before the next DLG DO or DLG DRAW
is invoked.
- ListBox,
PopText: Fixed a problem where the
rowdata attribute
was not derived from a model (#4227).
- ListBox,
Tree: When selected
ListBox or Tree
entries are copied to the clipboard (Ctrl-C) any HTML tags are now
trimmed so that just the plain text is copied.
- New Tree attribute:
addcy
- Tree: Setting the
sensitive attribute to zero
had no effect.
This problem was introduced with JDLG version 1.7.4.
- Tree: The display of entries using HTML
content was sometimes truncated or otherwise incorrect (#4237).
- Tree: DLG SET
useicons no longer has the
side effect that all nodes in the Tree are collapsed (closed).
- Function keys: If the focused object has the
help rule (-1) and a function
key is pressed, the help system was unexpectedly invoked.
- New configuration property:
eloquence.config.tray
Changes in JDLG version 1.7.4 (obsolete):
Changes in JDLG version 1.7.3 (obsolete):
- Fixed an internal race condition causing the focus not being
set as expected in some cases.
- Fixed a regression where the Java system look-and-feel could
not be installed.
Changes in JDLG version 1.7.2 (obsolete):
Changes in JDLG version 1.7.1 (obsolete):
- EditText: Fixed a problem where the new autotab, linewrap and wrapmode
attributes were not derived from a model.
- The Java code signing certificate has been renewed.
Previous JDLG versions were code-signed with a certificate which
expired on October 22, 2015.
The certificate validity, i.e., whether or not a certificate has
expired or has been revoked by a certification authority, should
be irrelevant because each JDLG version includes a trusted RFC 3161
time stamp, indicating when the particlar JDLG version was created.
As observed, this might not work as expected under all circumstances.
It appears that since the certificate has expired Java Webstart might
under certain conditions refuse to execute a previous JDLG version,
despite that JDLG is correctly time stamped.
JDLG version 1.7.1 should solve any issues observed in this context.
The new certificate expires on October 22, 2020.
- Please note if you use the JDLG example plugins:
The updated jdlg-plugin-examples-151029.zip has been released
where all included JAR files are code-signed with the renewed
certificate.
Any previous versions of the JDLG example plugin JAR files might
no longer work after updating to JDLG 1.7.1.
Download directory:
https://eloquence.marxmeier.com/download/jdlg/plugin/
Changes in JDLG version 1.7.0 (obsolete):
- A new layout implementation improves display performance and
solves Dialog appearance problems observed with previous JDLG
versions.
- The object position and size may be specified in
pixel units.
- The Dialog scaling functionality now covers Image objects, Dialog
and GroupBox background images, PushButton icons as well as the
POPUP BOX as expected.
- The EditText class provides a new
auto-tab mode and supports
line wrapping in various
modes for multi-line EditText objects.
- The Dialog.do Cancel Dialog
functionality has been enhanced.
- The Dialog and GroupBox
left/right/top/bottom
margins may be selectively enabled.
- The Java Webstart JNLP configuration has been simplified.
All URLs in JNLP files and JDLG configuration files may now be
specified relative to the
JNLP code base.
- The typeahead functionality
has been enhanced. The TAB/ENTER forward navigation keys are now
additionally buffered so that the typeahead function now works
across multiple objects.
- The visual display quality
of scaled images has been improved.
- ListBox: DLG SET
columnorder now recognizes the v character to make
a column visible.
- ListBox: The ListBox border now visually indicates whether a
ListBox is focused.
- ListBox: The first line is no longer implicitly selected if
no line is selected when a ListBox gets the focus.
- The Dialog layout
behavior can be configured to reproduce the Dialog window area
calculation of JDLG versions before 1.7.0.
Changes in JDLG version 1.6.7 (obsolete):
- Fixed a problem where in some cases
DLG SET sensitive
was not correctly propagated to child objects.
- ListBox: Fixed a potential IllegalArgumentException when setting the
ListBox.resetorder
attribute.
- ListBox: Fixed a potential ClassCastException on
DLG GET rowdata
if a line is inserted and rowdata is not set on this line.
- Plugin: Introduced Plugin API
version 1.2 which allows a plugin class to implement the
standard mouse handling.
- Plugin: Fixed uninitialized parent during onClone() invocation.
- Plugin: Added the
System.plugin[]
attribute to query whether a plugin class is present.
Changes in JDLG version 1.6.6 (obsolete):
- Added the Dialog.dohide
and doshow attributes
to enhance the Dialog.do
Cancel Dialog functionality.
- Fixed potential NullPointerException when the keyboard focus
is moved away from a deleted object.
Changes in JDLG version 1.6.5 (obsolete):
- CheckBox / PushButton / RadioButton: Fixed a problem where button objects
were not focused when clicked if
tabstop=0 is set.
This also caused unexpected behavior if
ruleoverride=0 is set.
- Splitter / GroupBox: Fixed a problem where Splitter child objects were
not displayed if they are located in a nested GroupBox having
yauto=0.
- Plugin: Fixed a problem where the
ruleoverride attribute was not derived
from a model. See also:
Plugin.onRuleOverride()
Changes in JDLG version 1.6.4 (obsolete):
- ListBox: Fixed a regression where making trailing invisible columns
visible could cause a session to abort with ERROR 684 due to an internal
IllegalArgumentException.
Changes in JDLG version 1.6.3 (obsolete):
- Added the
Image.scale attribute
to reduce memory usage if an image is scaled to a smaller size.
The default behavior for all images may be specified using the new
eloquence.config.imagescale
configuration property.
- ListBox: Fixed a problem where in certain cases dynamically added columns were
not displayed correctly if invisible columns were already present.
- ComboBox: Fixed a regression where setting
ComboBox.boxheight had no effect.
- Added the Show Log Messages menu option to instantly view JDLG runtime errors
and warnings, regardless whether an error
log file is configured or not.
- Java Webstart: Accept "jnlp." prefixed property
names, for example "jnlp.eloquence.config.url", to overcome a JNLP behavior
change introduced with Oracle™ Java version 7u45.
- Oracle™ Java version 7u45 and newer: Fixed jdlgS.jar signature
and manifest issues so that a Java Web Start security warning message is
no longer displayed.
Changes in JDLG version 1.6.2 (obsolete):
- Fixed a problem where printing could fail on Windows 8 (#4120).
Changes in JDLG version 1.6.1 (obsolete):
- Added the
Dialog.bgfill and
GroupBox.bgfill attributes
to specify the Dialog and GroupBox background image fill mode.
- Fixed a problem introduced with JDLG version 1.6.0 where a Dialog background
image was unexpectedly refreshed on each DLG DO and DLG DRAW.
Changes in JDLG version 1.6.0 (obsolete):
- Added the
GroupBox.bgimage attribute
which allows to specify a GroupBox background image (#4084).
- Added the
System.start attribute which allows
to programmatically start a configured application.
- Added the
visible attribute in the
application configuration for applications that should only be started
programmatically using the System.start
attribute.
- The caching of the
login credentials has been
improved. If a new session is started where the login credentials are not
yet cached, the credentials of another session are used if the other session
has the same
server and
serverport configuration.
See also:
eloquence.config.sessionlogincache
- PRINTER 10 integration:
DLG SET Application.printername
specifies the printer to be used with subsequent PRINTER 10
invocations.
DLG SET Application.printers
queries the list of installed printers.
Windows: The 64-bit Java platform is now supported.
- Fixed a problem where a Dialog background image did not change if the
same URL was used to load a different image (#4074).
- Fixed a problem where the PopText.cy
attribute was not derived from a model (#4082). This also affected the
activeitem, activeline and topitem attributes.
- If the DLG protocol buffer size is exceeded on DLG GET, for example
when obtaining the EditText or ListBox content, ERROR 685 was returned
(Internal error detected by DLG driver). This has been changed to ERROR
683 (DLG driver protocol memory overflow) (#4025).
- The tray icon display has been
improved to support different image resolutions.
Changes in JDLG beta version 1.5.7-120514-1914 (obsolete):
- Fixed a problem where an image did not change if the same URL was
used to load a different image (#4074).
Changes in JDLG beta version 1.5.7-110705-1228 (obsolete):
Changes in JDLG beta version 1.5.7-110526-1229 (obsolete):
- Fixed an incompatibility with Java versions before 1.6, potentially
causing a java.lang.NoSuchMethodError: java/lang/String.isEmpty()Z
Changes in JDLG beta version 1.5.7-110518-1310 (obsolete):
Changes in JDLG beta version 1.5.7-110429-1914 (obsolete):
- Added the
eloquence.config.keepalive
configuration property.
The eloquence.config.keepalive
property specifies the keepalive interval in seconds. If nonzero,
JDLG sends keepalive messages in the specified interval during a
DLG DO or POPUP BOX invocation.
This allows eloqcore to detect whether a JDLG connection is
still active or was interrupted. The latter case is assumed
if eloqcore does not receive any message from JDLG for five
times the specified interval during a DLG DO or POPUP BOX
invocation. If an interrupted JDLG connection is detected,
the connection is closed and ERROR 684 is returned to the
program.
This function may also be useful to solve idle timeout problems
caused by network router/firewall configuration. A network
router might be configured to close a connection if it has been
inactive for some time. To prevent this from affecting JDLG
connections, a JDLG keepalive interval could be configured.
For example, assumed the router idle timeout is 30 minutes,
an eloquence.config.keepalive=900 configuration would cause
JDLG to send a keepalive message every 15 minutes so that the router
idle timeout would not expire.
Notes:
- The eloquence.config.keepalive
configuration requires an eloqcore version which supports the
keepalive functionality, otherwise it has no effect.
For Eloquence 8.0 this requires eloqcore patch PE80-1104280
or newer. For Eloquence 8.10 this requires eloqcore patch
PE81-1104280 or newer.
- Instead of configuring the
eloquence.config.keepalive
property, a program may invoke
DLG SET ".keepalive",Seconds to specify the
keepalive interval, for example:
DLG SET ".keepalive",900
Changes in JDLG beta version 1.5.7-110128-1437 (obsolete):
- Added the System.activate
attribute.
If multiple sessions are active, DLG SET System.activate
brings the Dialog of a concurrent
session into foreground where the
Dialog title matches the
specified string argument, similar to clicking an entry in the
WindowMenu.
Known issues
- On the Linux platform, the space used by the Desktop task bar or the
Desktop menu bar may not be properly accounted for. This is caused by
a Java Swing limitation, where the necessary information is not
available. This should have little consequences besides that JDLG
cannot ensure that a Dialog window
is not obscured by Desktop elements.
- On platforms where JDLG runs on top of an X11 window manager, such
as Linux, the content of the X11 clipboard may change when the
content of an EditText or
ComboBox object is selected.
This is Java behavior which cannot be affected by JDLG.
|
|