wieso geht ESC dort hin ... [erledigt]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

wieso geht ESC dort hin ... [erledigt]

Beitrag von AUGE_OHR »

moin,

in einer CLASS SysForm FROM XbpDialog hab ich einen weiteren XbpDialog als MDI-Client

Code: Alles auswählen

METHOD SysDlg:Action(cDLL,cVER)
   oDlg := XbpDialog():New(::drawingArea,,{0,0}, aSize,,.F.)
   oDlg:close := { || lExit := .T. }
auf dem sind nun viele Buttons.

Code: Alles auswählen

   bBlock := ::MakeBlock("ShowBig",nIcon,oIcon,cDLL)
   oPB:activate := &(bBlock)
der Button ruft im Codeblock die Procedure ShowBig() auf und zeigt ein neues "freies" Fenster an.

Code: Alles auswählen

   oDlg := XbpDialog():new( AppDesktop(),,,,, .F.)
die Eventschleife ist praktisch gleich (Main, MDI-Client, "freie" Fenster)

Code: Alles auswählen

   DO WHILE !lExit = .T.
      nEvent := AppEvent ( @mp1, @mp2, @oXbp )
      DO CASE
         CASE nEvent == xbeP_Keyboard .AND. mp1 == xbeK_ESC
            EXIT
      OTHERWISE
         oXbp:HandleEvent ( nEvent, mp1, mp2 )
      ENDCASE
   ENDDO
mit ESC verlässt er die Schleife.

nun clicke ich in das MDI-Client Fenster mit den Buttons während noch "freie" Fenster geöffnet sind.
statt das der MDI-Client Dialog schliesst tun es die "freien" Fenster bei ESC ... hm ... wieso :?:

wenn ich die "freien" Fenster als Thread starte funktioniert ESC immer in "dem" Fenster.

p.s. real Keyboard
Zuletzt geändert von AUGE_OHR am Fr, 07. Dez 2018 20:26, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: wieso geht ESC dort hin ...

Beitrag von ramses »

Du solltest vielleicht noch einbauen dass ESC nur die Eventloop des aktiven (Focusierten) Fensters schliesst.

Gruss Carlo
Valar Morghulis

Gruss Carlo
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: wieso geht ESC dort hin ...

Beitrag von georg »

Oder es ganz einfach mit eigenen Threads versuchen?
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
mikehoffmann
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 133
Registriert: Mo, 21. Sep 2015 16:22
Hat sich bedankt: 1 Mal
Danksagung erhalten: 18 Mal

Re: wieso geht ESC dort hin ...

Beitrag von mikehoffmann »

die Eventschleife ist praktisch gleich (Main, MDI-Client, "freie" Fenster)
Hast Du in jedem Teilchen eine Event-Schleife? Wenn ja, ist das der Grund.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: wieso geht ESC dort hin ...

Beitrag von AUGE_OHR »

hi,

hab ich doch geschrieben das es im Thread funktioniert ... und da ist mir auch klar geworden was vorher passiert ist.

wenn ich per Button den neuen Dialog geöffnet hatte konnte ich weiter Button aktivieren -> neue Dialoge.
nun war am Anfang keine Eventloop im Source ( Fullview aus Imageview Demo ) und er machte bei zurück gehen das Fenster immer zu ... also eine Eventloop

jetzt steckt er aber im letzten Fenster das ich aufgerufen habe ... egal in welches Fenster ich klicke #-o
also muss er erst die Eventloop verlassen usw. bevor ich wieder beim MDI-Client bin (mit den Buttons)
gruss by OHR
Jimmy
Benutzeravatar
mikehoffmann
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 133
Registriert: Mo, 21. Sep 2015 16:22
Hat sich bedankt: 1 Mal
Danksagung erhalten: 18 Mal

Re: wieso geht ESC dort hin ... [erledigt]

Beitrag von mikehoffmann »

Was verstehst Du unter Event Loop? Ich verstehe nur Railway Station.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: wieso geht ESC dort hin ... [erledigt]

Beitrag von Tom »

Geht mir ähnlich. :dontknow:
Herzlich,
Tom
Antworten