<< Inhaltsverzeichnis Suchen >>

EBUS_OPTIMIZE_2T

Variable

Bedeutung:

Bei Java-2T-Programmen, die über das Internet oder über eine DFÜ-Verbindung gestartet werden, kostet jede Kommunikation zwischen Client und Server viel Zeit, da die Datenübertragungsrate relativ gering ist. Wird EBUS_OPTIMIZE_2T = 1 gesetzt, so wird bei Java-2T-Programmen eine Optimierung eingeschaltet, die die Verarbeitung von Bildschirmanweisungen optimiert und folgendermaßen arbeitet:

Wird ein Macro auf einer Maske oder im SELECT/SELECTA/GR_TREEVIEW gestartet, so werden die folgenden Anweisungen nicht sofort ausgeführt, sondern erst wenn der Macro beendet wurde:

CLS
WQUIT
WRETURN
SET_WDEPTH
GR_LINE
GR_FILLRECT
GR_FILLRECT_GRADIENT
GR_CIRCLE
PRINT
GR_PUSHBUTTON_TEXTCOLOR
GR_RADIOBUTTON_TEXTCOLOR
GR_CHECKBOX_TEXTCOLOR
GR_MARK_BACKGROUNDCOLOR
GR_HILITE_BACKGROUNDCOLOR
GR_MAIN_BACKGROUNDCOLOR
GR_WINDOW_BACKGROUNDCOLOR
GR_STATUSLINE_TEXTCOLOR
GR_PRINT_TEXTCOLOR
BMP_TRANSPARENTCOLOR
GR_FIELD_BACKGROUNDCOLOR
GR_FIELD_TEXTCOLOR
GR_SELECT_BACKGROUNDCOLOR
GR_PRINT_BACKGROUNDCOLOR
JAVA_TRANSPARENTCOLOR

Alle diese Anweisungen werden programmintern 'gesammelt' und erst nach Beendigung des Macros 'in einem Stück' vom Server zum Client übertragen. Dies bringt besonders im Internet eine deutliche Performancesteigerung.

Beim Programmstart ist diese Variable mit 0 vorbelegt.

Diese Variable hat nur eine Wirkung unter Java.

ACHTUNG: Das Einschalten dieser Optimierung kann in manchen Fällen zu einem fehlerhaften Programmablauf führen!

Beispiel:
In einem Macro wird eine Liste gedruckt. Vor dem Druck wird mit der Anweisung WINDOW ein Fenster geöffnet, in dem mit der Anweisung PRINT der Hinweistext "Druck läuft..." angezeigt wird. Nach Beendigung des Drucks wird das Fenster mit der Anweisung WCLOSE wieder geschlossen. Ist EBUS_OPTIMIZE_2T = 1, so wird die Anweisung PRINT nicht sofort ausgeführt, sondern erst am Ende des Macros. Dann existiert das Fenster aber nicht mehr. Dies führt dazu, daß der Hinweistext nicht im WINDOW sondern in dem Fenster angezeigt wird, das nach der Ausführung des Macros das aktuelle Fenster ist. Dieses unerwünschte Programmverhalten kann dadurch umgangen werden, daß am Anfang des Macros EBUS_OPTIMIZE_2T = 0 und am Ende EBUS_OPTIMIZE_2T = 1 gesetzt wird.

siehe auch:

EBUS_DISPLAYMODE, EBUS_MESSAGE_INTERVAL, EBUS_INKEY_INTERVAL