Seite 1 von 1

Fehlermeldung: #Desktop number out of range

Verfasst: 21.02.2007 22:37
von marco2007
Hi,

warum funktioniert folgender Code nicht (Fehlermeldung: #Desktop number out of range)?

Code: Alles auswählen

Enumeration
  #Window
  #desktop
  #A
EndEnumeration

ExamineDesktops()
desd=DesktopHeight(#Desktop)
desw=DesktopWidth(#Desktop)

Procedure Open_Window()

  If OpenWindow(#Window, 1166, 0, 40, 712, "",  #PB_Window_BorderLess )
    If CreateGadgetList(WindowID(#Window))
      ButtonGadget(#A, 10, 5, 20, 20, "A")
    EndIf
  EndIf
  EndProcedure

open_window()
Repeat
event=WaitWindowEvent()

Until event=#PB_Event_CloseWindow
Folgender Code funktioniert:

Code: Alles auswählen

Enumeration
#desktop
EndEnumeration

ExamineDesktops()
desd=DesktopHeight(#Desktop)
desw=DesktopWidth(#Desktop)
Debug desd
Debug desw
Danke
Marco

Verfasst: 21.02.2007 23:14
von Ligatur
Weil im ersten Code #desktop den Wert 1 hat (#Window ist 0, #desktop dann 1) und der Standarddesktop die Nummer 0. Im 2. Code ist #desktop der 1. Wert der Aufzählung und somit 0. und deshalb funktioniert das.
Gruß
Ligatur

Verfasst: 22.02.2007 00:09
von ts-soft
Es könnten ja mehrere Desktops vorhanden sein:

Code: Alles auswählen

Define.l count, i

count = ExamineDesktops()

For i = 0 To count - 1
  
  Debug DesktopWidth(i)
  Debug DesktopHeight(i) 
  
Next i
Wenn nur der erste Desktop benötigt wird, so ist dieser immer 0

Gruß
Thomas