Fehlermeldung: #Desktop number out of range

Anfängerfragen zum Programmieren mit PureBasic.
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Fehlermeldung: #Desktop number out of range

Beitrag 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
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
Ligatur
Beiträge: 196
Registriert: 09.07.2006 00:41

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten