Seite 1 von 3

(BUG) OpenScreen() und andere Schwierigkeiten!

Verfasst: 20.11.2004 20:06
von nco2k
ich verstehe pb manchmal echt nicht...

Code: Alles auswählen

ExamineDesktops()
DeskWidth = DesktopWidth(0)
DeskHeight = DesktopHeight(0)
DeskDepth = DesktopDepth(0)

If InitSprite() = #False
  End
ElseIf OpenScreen(DeskWidth,DeskHeight,DeskDepth,"Test") = #False
  End
EndIf

Repeat
  
  FlipBuffers()
  ClearScreen(0, 0, 0)
  
  If IsScreenActive() = #True And ScreenSwitched = #False
    StartDrawing(ScreenOutput())
    DrawText("Press Space to Quit")
    StopDrawing()
  ElseIf IsScreenActive() = #True And ScreenSwitched = #True
    ScreenSwitched = #False
  Else
    ScreenSwitched = #True
  EndIf
  
  If GetAsyncKeyState_(#VK_SPACE)
    End
  ;ElseIf GetAsyncKeyState_(#VK_ESCAPE)
    ;Debug
  EndIf
  
ForEver

End
1.) im folgenden code, wird das programm beim drücken auf die escape taste minimiert und sofort wieder maximiert, obwohl ich da keinen einzigen befehl mit der escape taste drin hab. wenn ich dann GetAsyncKeyState_(#VK_ESCAPE) einbaue, um irgendwas damit zu bewirken (ein menü zu verlassen z.b.) wird das programm trotzdem noch zusätzlich minimiert.

2.) alt+tab funktioniert von haus aus, aber das minimierte programm, wird nicht im winxp taskswitchmenü angezeigt und kann somit auch nicht ausgewählt werden.

3.) wenn man in der taskleiste auf das minimierte programm, mit der rechten maustaste klickt, kommt kein kontext menü, sondern das programm wird wieder maximiert, wie bei der linken maustaste.

4.) die win-tasten funktionieren nicht von haus aus in diesem beispiel, aber in einem anderen sehr langen code (welchen ich hier nicht posten möchte) funktioniert es einwandfrei, obwohl ich da 1000%ig keinen einzigen befehl, mit den win-tasten drin hab.

edit: bug 4.) ist wohl doch kein bug. das merkwürdige verhalten wurde anscheinend durch etwas ausgelöst, würde nur zu gerne wissen durch was. :?

c ya,
nco2k

Verfasst: 21.11.2004 17:40
von Lars
Bestätigt, wenn auch die Windowstaste hier funkt.

Verfasst: 21.11.2004 17:48
von Andre
Werde Fred auf diese Bug-Meldung zwecks Überprüfung hinweisen...

Verfasst: 21.11.2004 18:15
von nco2k
@Lars
sehr komisch, die windows tasten gehen bei mir plötzlich wieder. na gott sei dank. /:->

@Andre
punkt 2 und 3 hab ich fred vor einer weile schon gemeldet, er hat mir aber nicht geantwortet. punkt 1 hab ich noch nicht gemeldet, da es mir erst vor kurzem aufgefallen ist und punkt 4 ist jetzt fraglich. bin aber froh, daß die tasten wieder bei mir gehen. kannst ihn aber trotzdem nochmal darauf ansprechen, vielleicht erreichst du ja mehr. ich hoffe, daß er diese unschönheiten für das nächsten update fixt und das es nicht wieder 2 jahre hinterher geschleift wird. wäre wirklich schade sowas...

edit:
ich bin mir zwar nicht 100% sicher, aber ich glaube, daß der bug aus punkt 1, in der pb 3.91 version nicht drin war und es dort korrekt funktioniert hat. kann das jemand bestätigen??

c ya,
nco2k

Verfasst: 21.11.2004 18:58
von Lars
Eben nochmal getestet, das Problem mit dem minimieren/maximieren bei
Escape tritt hier auch auf, wenn man den GetAsyncKeyState(#VK_ESCAPE)
rauslässt.

Verfasst: 21.11.2004 19:01
von nco2k
@Lars
bei 3.91?!

c ya,
nco2k

Verfasst: 21.11.2004 19:04
von Lars
nco2k hat geschrieben:bei 3.91?!
Nein, bei 3.92.

Eben aber dann auch noch mit 3.91 getestet, genau die selben Probleme.

Verfasst: 21.11.2004 21:10
von Danilo
Lars hat geschrieben:Nein, bei 3.92.

Eben aber dann auch noch mit 3.91 getestet, genau die selben Probleme.
Und korrekter PB-Weg mit ExamineKeyboard() in der Schleife?

Verfasst: 21.11.2004 23:18
von Lars
Sowohl unter 3.91 als auch unter 3.92 gibt es keine Probleme mit dem
Minimieren/Maximieren, wenn man mit ExamineKeyboard() arbeitet. In
der Anwendungsliste von Alt+Tab taucht der Screen trotzdem nicht auf,
ein Kontextmenu hat er unter beiden Versionen auch nicht.

Verfasst: 21.11.2004 23:43
von nco2k
@Danilo
ich benütze bewusst nicht InitKeyboard() : ExamineKeyboard(), weil dadurch einige "von haus aus" windows funktionen (wie z.b. die win-tasten usw.) wegfallen würden.

c ya,
nco2k