Seite 1 von 1

Dynamische Fenster- und Gadgethandles

Verfasst: 02.02.2015 21:16
von Chimorin
Heyho,

Ich habe da mal ne Frage:
Bisher habe ich meine Fenster und Gadgets immer mit Konstanten klassifiziert, was natürlich einwandfrei funktioniert. Ich dachte mir nun, dass ich es eventuell "besser" machen könnte, indem ich diese "Konstanterei" dynamisch gestalte.
Gesagt, getan, habe ich mein Projekt umgestellt (Hauptfenster und mehrere Fenster, die nur unter Umständen dazukommen - Einstellungsfenster,...).
Funktioniert super, sieht auch super aus :D
Nur gibt es ab und zu ein Problem:

Code: Alles auswählen

Select window
  Case f1
    
  Case f2
    
EndSelect
Wenn f1 mal offen war, f2 ist nun offen und hat die selbe ID wie f1 davor, wird natürlich auf f1 im Select:Case angesprungen, was in einem Absturz endet.

Mich würde jetzt interessieren, wie man das mit den Fenstern und Gadgets als Profiprogrammierer löst (Berufliche Progger und sowas). Ich bin ja nur Hobbyprogrammierer und habe auch sonst nichts damit am Hut (Bildungstechnisch).
Setze ich einfach alle Gadgets und Fenster, die nicht mehr offen sind, auf 0 zurück? Oder macht man das gar nicht dynamisch, sondern über Konstanten? Oder werden die Fenster gar nicht geschlossen, sondern nur unsichtbar gemacht?!

Re: Dynamische Fenster- und Gadgethandles

Verfasst: 02.02.2015 22:28
von matbal
Ich benutze für alle Fenster, die es nur einmal gibt, Konstanten. Ich sehe auch kein Grund, warum ich dafür die Konstanten nicht benutzen sollte.

Für dynamische Fenster, die also mehrfach parallel geöffnet werden können, verwende ich auch dynamischen Speicher, der z.B. in einer strukturierten LinkedList verwaltet wird. Beim Erstellen eines Fensters wird ein Element hinzugefügt, wo dann die Window-Nummer und alle Gadget-Nummern und sonstige Daten zum Fenster gespeichert werden. Wenn das Fenster geschlossen wird, wird auch der Speicher wieder freigegeben, und damit werden die Window- und Gadget-Nummern ungültig.

Re: Dynamische Fenster- und Gadgethandles

Verfasst: 03.02.2015 11:04
von Chimorin
Joar, hätte ich auch vorher dran denken sollen, dass die dynamische Sache nicht so ganz funktionieren wird...

Re: Dynamische Fenster- und Gadgethandles

Verfasst: 03.02.2015 11:19
von Kiffi
Chimorin hat geschrieben:Joar, hätte ich auch vorher dran denken sollen, dass die dynamische Sache nicht so ganz funktionieren wird...
die 'dynamische Sache' funktioniert schon, wenn man das ordentlich programmiert ;-)

Ich halte es auch wie matbal. 'Feste' Fenster (Main, Optionen, etc.) und Gadgets bekommen eine Konstante. Dynamische Fenster und Gadgets erstelle ich mit #PB_Any.

Grüße ... Peter