DCSTATIF Fenster nach dem DCREAD GUI sichtbar lassen

Moderator: Moderatoren

Antworten
Hippo
Rookie
Rookie
Beiträge: 10
Registriert: So, 20. Okt 2013 16:11

DCSTATIF Fenster nach dem DCREAD GUI sichtbar lassen

Beitrag von Hippo »

Hallo zusammen,
ich schlage mich seit Beginn mit einem Problem herum, das ich - vermutlich mangels Erfahrung mit PARENT, SETAPPWINDOW usw - habe.
Mein Programm läuft mit einem XBPMenu() - Menü, das ich aus der CRT-Version übernommen habe (ein Umstieg auf DCMENU wäre möglich, aber Kunden lieben Bekanntes). In der Menubar öffne ich ein Modul mit einem DCSTATIC Window. Nach dem DCREAD läuft eine Prozedur ohne Fenster ab. In dieser Zeit soll das DCSTATIC-Fenster sichtbar bleiben. Das funktionniert aber nur, wenn die nachfolgende Prozedur in ein GET eingebettet wird (im Beispiel LISTE1()), anderfalls ist wieder das Menü sichtbar und der Kunde wundert sich, dass der das Menü nicht bedienen kann (Menü disabled).

Code: Alles auswählen

 
proc main
....
erzeugeMenuSystem(SetAppWindow():MenuBar())    // erzeugeMenuSystem ist selbstgeschriebene Prozedur: s.u.
do while nEvent <> xbeP_Close
    nEvent := AppEvent(@mp1, @mp2, @oXbp)
    oXbp:handleEvent(nEvent, mp1, mp2)
enddo
...
 //Aufbau des Gesamt - Menüsystems
procedure erzeugeMenuSystem(oMenubar)
  public mnStamm, mnBearbeiten, mnAusdrucke, mnDienstprog, mnUebernahme, mnProg, mnEnde
  datopen()
   *****      Haupt - Menü STAMMDATEN       **************
  // Menü mnStamm erzeugen
  mnStamm := XbpMenu():new(oMenuBar)
  mnStamm:title := "~Stammdaten"
  mnStamm:create()
  ....

proc xyz
@ 0,0 DCSTATIC TYPE XBPSTATIC_TYPE_TEXT SIZE wcol*wx+wx1,wrow*wy+wy1  parent ostatic1 OBJECT oStatic1 COLOR color1,color2
HEADLINES 2,w_rahmtext1,w_rahmtext2,w_rahmtext3,textfont1
@ 10,5 DCSAY "Es sind " +alltrim(str(ganzzahl))+" S„tze zu bearbeiten   "    SAYFONT textfont

@ 11.5,5 DCSAY "Soll die šbersicht erstellt werden J/N" get antwort pict "!" valid {||antwort$ "JN",[b]liste1()}[/b]      SAYFONT textfont
@ 14,5 DCSAY "Datei wird durchsucht - Bitte etwas Geduld   "

fa=fa1-1
@ wrow-1-vv,0      DCPUSHBUTTON CAPTION 'OK' SIZE button1,1 FONT textfont1 ACTION {||DC_ReadGuiEvent(DCGUI_EXIT_OK,GetList)}
@ wrow-1-vv,(button1+3)*1 DCPUSHBUTTON CAPTION 'Abbruch' SIZE button1,1 FONT textfont1 ACTION {||DC_ReadGuiEvent(DCGUI_EXIT_ABORT,GetList)}
lStatus := ReadGui(GetList,titelzeile)
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCSTATIF Fenster nach dem DCREAD GUI sichtbar lassen

Beitrag von Wolfgang Ciriack »

Wenn du möchtest, dass nach dem DCREAD etwas erhalten bleibt, musst du bei DCREAD ein
PARENT @oDlg NODESTROY verwenden, dann am Ende deiner Procedure ein oDlg:destroy().
Viele Grüße
Wolfgang
Hippo
Rookie
Rookie
Beiträge: 10
Registriert: So, 20. Okt 2013 16:11

Re: DCSTATIF Fenster nach dem DCREAD GUI sichtbar lassen

Beitrag von Hippo »

Danke Wolfgang,
kurze Antwort, Rieeeeeeeeeeeeeeeesengroße Hilfe.

Peter
Antworten