-
Hintergrund verschwindet bei mehrmaligem Aufruf eines Programms mit Window
Hallo zusammen,
ich habe zwar bereits gesucht und ähnliche Probleme gefunden, aber das hat mir leider nicht weiter geholfen.
Ich habe ein Subfile-Übersicht. Mit einer Auswahl wird ein anderes Programm aufgerufen, welches nur ein Window hat und das DUMMY Format mit ASSUME und OVERLAY
Wenn ich nun mehrere Auswahlen eingeben, wird der Hintergrund beim ersten Aufruf des zweiten Programms noch angezeigt. Ab der zweiten Auswahl sieht man aber nur noch das Fenster ohne Hintergrund.
Ist mir zu helfen ?
Viele Grüße Harald
-
Ich habs selbst gefunden. Wirklich verstehen tue ich es aber nicht. Beide Bildschirmdateien sind mit RSTDSP(*YES) umgewandelt. Jetzt habe ich im Window-Programm einfach den LR mit RETURN ersetzt und jetzt lässt er den Hintergrund stehen. Ich kann mir das nur so erklären, dass der RSTDSP(*YES) sich den Hintergrund speichert und beim LR dann weg wirft.
-
Eine mögliche Lösung:
Im DDS des Windows das Schlüsselwort USRRSTDSP angeben.
Damit wird der Hintergrund nicht gelöscht und alles sollte stehen bleiben.
(Können je nach Auswahl verschiedene Windows angezeigt werden? Falls ja, dann muss das berücksichtigt werden)
EDIT: Hoppla, Du warst schneller. Die Lösung mit dem DDS-Schlüsselwort USRRSTDSP wäre aber vorzuziehen, da Du Dich dann beim Umwandeln um nichts mehr kümmern musst.
-
ist schon lange her, aber spielt das Schlüsselwort KEEP vielleicht noch eine Rolle dabei?
-
@cbe
Genau so gehts mir jedes mal. Mal ist das Window mit in der gleichen Bildschirmdatei, mal extern, mal alleine mal nicht. Ich probiere so lange rum mit Schlüsselwörter bis es irgendwie funktioniert oder gebe einfach auf. Manchmal funktionierts auch mit einem WRITE auf das vorherige Satzformat manchmal eben nicht. Aber ganz ehrlich verstanden hab ich es eh nie. So wie es jetzt ist funktionierts. Ich habs mir mal aufgeschrieben, weiss aber nicht ob ich es wieder finde wenn ich es wieder brauche ;-)
-
Eigentlich ist es im Handbuch gut beschrieben, s.u.
Aber das habe ich vor >10 Jahren geschrieben, jetzt probiere ich da nicht noch mal rum...
Und wenns bei Dir klappt, würde ich es auch in Ruhe lassen.
ASSUME (Assume) keyword for display file
This record-level keyword specifies that the i5/OS operating system is to assume that the record is already shown on the display when the display file is opened.
Such a record can also be defined, with the KEEP keyword, in another display file. That other display file can be closed before this file (in which you are specifying ASSUME) is opened.
KEEP (Keep) keyword for display files
You use this record-level keyword to keep the display from being deleted when the display file is closed.
The entire display is kept if any of the records on the display have KEEP specified. The default causes the entire display to be deleted when the file is closed.
In addition, the name of the first, uppermost record on the display that has the KEEP attribute is saved
by the i5/OS operating system for possible use by subsequent programs. The name kept can be used by a subsequent program that does not specify a record name on its first input operation. This keyword enables you to leave data on the display for review after your program ends, or use that data as input for subsequent programs.
Quelle: System i Programming DDS for display files Version 6 Release 1
-
@cbe
Danke.
Ich habe im Window das Schlüsselwort KEEP angegeben. Jetzt bleibt der HIntergrund auch stehen wenn das Programm mit LR beendet wird.
-
Das OS/400 will uns das ja einfach machen.
Wenn ein Programm diverse Formate ausgegeben hat und dann ein Unterprogramm die Darstellung überschreibt, sichert sich das System den Inhalt beim Open und stellt ihn beim Close wieder her.
RSTDSP auf der Datei hat nur für das gerufene Programm Bedeutung und wie schon beschrieben, mit ASSUME wird der Bildinhalt nicht gelöscht.
Wichtig ist halt, der Open sichert den Inhalt, der Close stellt ihn wieder her.
Dies kann man auch mit USROPN erreichen wenn man ein bisschen mehr im Speicher halten will.
Das System macht ja auch ähnliches automatisch bei der Abruftaste (SETATNPGM) oder wenn ein MsgBreak-Handler (Durchbruchnachricht) den Bildinhalt verändert.
Anstelle eines Fensters kann man auch mit CLRL(*NO) und explizitem Bildaufbau nette Effekte erreichen.
Similar Threads
-
By hdw2 in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 18-07-14, 14:27
-
By rr2001 in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 27-05-14, 13:44
-
By Robi in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 14-11-13, 16:18
-
By malzusrex in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 27-05-03, 10:05
-
By it-wolf in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 10-07-02, 13:50
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks