[NEWSboard IBMi Forum]
Seite 2 von 3 Erste 1 2 3 Letzte
  1. #13
    Registriert seit
    Feb 2001
    Beiträge
    20.723
    Dies scheint mir eher ein Problem von CA zu sein. Da ich beim Rahmen immer mit Leerzeichen, Farbe weiß und Attribut Reverse arbeite, bekomme ich zwar nicht so schöne Rahmen, aber es funktioniert immer !
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #14
    Registriert seit
    Mar 2003
    Beiträge
    31
    @Fuerchau
    könntest Du da mal den Source-Code posten für die Window-Darstellung?

    Ich habe mein Programm gerade auf der Konsole getestet... gleiches Problem... liegt also nicht am CA.

  3. #15
    Registriert seit
    Feb 2001
    Beiträge
    20.723
    Ich glaub ich seh jetzt dein Problem.
    In deinem Fenster gibst du *NOMSGLN an, du überlagerst aber dann die Nachrichtenzeile (24) aber mit deinem Fenster !!

    Entweder mach das Fenster mit Nachrichtenzeile, oder verschiebe es nach oben, so dass die Nachrichtenzeile sichtbar bleibt.

    Das Schlüsselwort USRRSTDSP sowie die Umwandlung mit RSTDSP(*NO) sind erforderlich.

    Ansonsten sieht meine DSPF genauso aus wie deine.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #16
    Registriert seit
    Jul 2002
    Beiträge
    151
    Hallo,
    ich habe in meinem DUMMY-Record (assume) auch nochmal das OVERLAY drin, weiss aber nicht, ob das ein Unterschied macht.
    Gruß Holger

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.723
    Das Overlay im Dummy hat keine Auswirkung, da dieses Format ja nicht verwendet wird.

    ASSUME soll ja nur nur drinstehen, damit der Bildschirm nicht gelöscht wird !
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #18
    Registriert seit
    Feb 2001
    Beiträge
    20.723
    Ich habs jetzt nochmal ausprobiert und kann das Problem nachvollziehen.
    Es liegt tatsächlich ein Problem in der Bildschirmsteuerung vor, wenn das Window das einzige Format dieser Programmebene ist !

    Da ich bei Fenstern jedoch immer noch ein Record-Format ausgebe (Fehlerzeile + F-Tasten), kommt bei mir der Fehler natürlich nicht.

    Verlege z.B. die F-Tasten in ein eigenes RECORD-Format, dass du vor die Ausgabe des Fensters legst.
    Allerdings gibt es auch hier teilweise seltsames Verhalten, wenn man hier OVERLAY verwendet. Anstelle dessen muss man CLRL(nn) verwenden. In diesem Falle werden genau so viele Zeilen gelöscht, wie der Parameter "nn" angibt.
    Dann wird auch das Fenster korrekt angezeigt.

    RSTDSP(*NO) und USRRSTDSP sind auf jeden Fall trotzdem erforderlich !

    Mein Fussformat:

    Code:
    A          R FUEBETBO                                          
    A*%%TS  SD  20000531  113908  RHTESTN     REL-V4R2M0  5769-PW1 
    A                                      CLRL(02)                
    A                                 24  3'F1:'                   
    A                                      COLOR(WHT)              
    A            FLD001        15   O 24  7MSGID(DSP 0047 VOUSER)  
    A  31        DSFETX        78   O 23  3COLOR(WHT)              
    A                                      DSPATR(RI)
    Das Fenster sieht genauso aus wie deins.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #19
    Registriert seit
    Mar 2003
    Beiträge
    31

    Thumbs up

    @Fuerchau
    das ist ja genial... jetzt funktioniert es...
    besten Dank für die ganze Zeit, die Du investiert hast.

    jetzt habe ich allerdings noch ein kleines Problem...
    Ich versuche es mal zu beschreiben:

    "Pgm1-SFL" ruft "Pgm2-WINDOW" auf.
    über eine Funktinstaste kann ich in "Pgm2" ein weiteres Programm ("Pgm3") aufrufen, das im Vollbildmodus aufgerufen wird.
    Verlasse ich nun Pgm3 wird mein Window aus "Pgm2" wieder hergestellt... allerdings mit dem Hintergrund aus Pgm3
    Das wäre natürlich falsch, da es ja eine Aufrufhirarchie darstellt und normal sollte er, wenn ich mich in Pgm2 befinde, den Hintergrund aus Pgm1 anzeigen...

    Eigentlich bräuchte ich ja hier nun RSTDSP(*YES) in Pgm2... allerdings wäre ich dann bei meinem bekannten Problem angelangt...

    Alle Programme (Pgm1+2+3) werden mit *INRT beendet.

    gruss Alex

  8. #20
    Registriert seit
    Feb 2001
    Beiträge
    20.723
    Dies ist leider nur durch einen kleinen Trick durchführbar:

    Pgm-1 ruft Pgm-2 auf.
    Bei F-Taste mit Funktionscode zurück nach Pgm-1, dass nun Pgm-3 aufruft.
    Bei Rückkehr von Pgm-3, Write des Bildschirmes aus Pgm-1 und wieder Aufruf von Pgm-2 mit Ausgabe des Window.

    Bei "Windows" ist es nun mal so, dass immer der aktuelle Inhalt überschrieben wird, woher soll das Programm auch wissen, was da vorher stand ?


    Ansonsten gibts da ein paar Api's, siehe unter
    http://publib.boulder.ibm.com/iserie.../QsnSavScr.htm
    http://publib.boulder.ibm.com/iserie.../QsnRstScr.htm

    Möglicherweise funktioniert es auch, wenn du die DSPF des Windows mit RSTDSP(*YES) umwandelst und Pgm-2 grundsätzlich mit "eval *INLR = *on" verläßt.
    Dies beendet das Programm, die Displayfile wird geschlossen !
    Beim nächsten Open und EXFMT in Pgm-2 wird natürlich der Screen gesichert und nach Rückkehr aus PGM-3 wiederhergestellt.

    PS:

    *INRT ist ausschließlich bei Zyklus-Programmierung (IP=Input Primary usw.) nötig, wenn man VOR *INLR zurückkehrt.

    *INLR bedeutet:
    wenn Aus => Dateien und Variablen bleiben im letzten Status, bei erneutem Aufruf kein Open und *INZSR
    Wenn An => Programm wird deaktiviert, alle Dateien geschlossen, bei erneutem Aufruf wie 1. Aufruf mit *INZSR
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #21
    Registriert seit
    Feb 2003
    Beiträge
    137
    Hallo MrBonZai,

    auf jeden Fall mit RSTDSP(*YES) umwandeln, dann tritt dies nicht mehr auf. Mit *INLR anstelle *INRT das(die) PGMS verlassen.
    Gruss
    thierry

  10. #22
    Registriert seit
    Feb 2003
    Beiträge
    137
    Hallo MrBonZai,

    warum willst Du unbedingt *INRT einsetzen??? Falls Du das Programm geöffnet haben möchtest, dann wäre RETURN angesagt.

    Gruss
    thierry

  11. #23
    Registriert seit
    Mar 2003
    Beiträge
    31
    Original geschrieben von Thimi
    Hallo MrBonZai,
    warum willst Du unbedingt *INRT einsetzen??? Falls Du das Programm geöffnet haben möchtest, dann wäre RETURN angesagt.
    was ist denn bitte der Unterschied zwischen *INRT & RETURN?

    ich will die Ladezeiten der Programme so gering wie möglich halten... sprich alle Dateien,... sollen geöffnet bleiben... daher der *INRT...


    @Fuerchau
    Du bist echt ein Guru... dank Dir ganz herzlich...

  12. #24
    Registriert seit
    Feb 2001
    Beiträge
    20.723
    *INRT habe ich nie verwendet, da ich keine Zyklusprogrammierung benötige (wozu gibts da Query o.ä.) und für die Mandantenfähigkeit sowie Dialogprogrammierung sehr aufwändig ist.

    RETURN bzw. RETRN:

    Mit diesem Befehl wird ein RPG-Programm vorzeitig beendet. Er kann an jeder beliebigen Stelle (auch zwischen BEGSR/ENDSR) verwendet werden (Entspricht z.B. exit() in C/C++).
    An dieser Stelle entscheidet *INLR über den weiteren Status (s.o.).

    Vor der ersten BEGSR existiert ein impliziter Return:
    Verwende ich "InputPrimary" und ist *INLR aus wird ein Datensatz gelesen und mit der 1. Anweisung wieder begonnen ansonsten das Programm deaktiviert und beendet.

    Verwende ich KEIN "InputPrimary" wird im übrigen genauso verfahren !!!!
    => unverständliche Wiederholungen, da *INLR entscheidet !

    *INRT unterbricht die Verarbeitung von "InputPrimary" (vor der 1. BEGSR) und da *INLR aus bleibt (wird ja nicht verwendet) entspricht dies einem kodierten RETURN mit *INLR = *OFF !!
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  2. Problem bei Anzeige mit EBCDIC nach FTP-Übertragung
    By sirdidi in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 06-11-06, 12:51
  3. Merkwürdiges Problem in VRPG
    By Flappes in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 06-10-06, 08:39
  4. Antworten: 1
    Letzter Beitrag: 16-05-06, 08:43
  5. Problem mit einem Window
    By ExAzubi in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 17-02-06, 09:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •