Seite 1 von 2

WindowID, GadgetID unter anderen OS

Verfasst: 31.08.2014 11:47
von Bisonte
Unter Windows sind ja bekanntlich alle Gadgets nur "erweiterte" Windows, was bedeutet, das sie sich einen
"Zahlenraum" teilen.
So gibt es nur eine ID, egal ob vom Window oder vom Gadget.

Wie sieht das unter den anderen OS aus ?
Verhält es sich dort genauso ?

Kern der Geschichte: In einem Programm soll eine Map diverse Daten zu einem Objekt enthalten, und ich dachte ich könne
dafür als MapKey halt die OS-ID nehmen, egal ob Window oder Gadget.
Ansonsten müssten es ja getrennte Maps werden.

Re: WindowID, GadgetID unter anderen OS

Verfasst: 31.08.2014 12:01
von ts-soft
Du kannst die OS-ID verwenden, aber auch das Gadget. Es ist mir also nicht klar, worauf Du hinaus willst.
Ansonsten: http://www.purebasic.fr/blog/?cat=8

Gruß
Thomas

Re: WindowID, GadgetID unter anderen OS

Verfasst: 31.08.2014 15:19
von Bisonte
Ok... Also wenn ich unter Windows ein Fenster erstelle, wird die WindowID niemals mit einer GadgetID kollidieren !
Weil ein Gadget ja ein "Fenster" ist.

Wenn ich den Blog so ansehe, scheint das unter Linux so zu sein, das durchaus die gleiche ID jeweils für ein Fenster wie auch für ein Gadget
existieren kann... (gtkWidget und gtkWindow = zwei verschiedene "Zahlenräume") Unter Mac siehts auch so aus...

Also muss da wohl doch ne zweite Map her... Danke für den Link.

Re: WindowID, GadgetID unter anderen OS

Verfasst: 31.08.2014 16:00
von ts-soft
Jetzt hab ichs verstanden :D

Da würde ich 2 Maps nehmen oder die GadgetID negieren und die WindowID nicht.

Re: WindowID, GadgetID unter anderen OS

Verfasst: 31.08.2014 18:08
von CSHW89
... oder wenn du die PB-Map benutzt, einfach ein Buchstaben vorsetzen, also z.b. "G"+Str(GadgetID) für ein Gadget-Key, "W"+Str(WindowID) für ein Window-Key ect...

lg Kevin

Re: WindowID, GadgetID unter anderen OS

Verfasst: 31.08.2014 21:33
von Shardik
ts-soft hat geschrieben:Ansonsten: http://www.purebasic.fr/blog/?cat=8
Für MacOS ist dies keine so gute Idee, da die Informationen veraltet sind: sie gelten nur für das Carbon-Framework, das seit PB 5.20 nicht mehr in PureBasic enthalten ist. Ich habe diese Informationen daher in diesem Posting um die Informationen für das aktuelle Cocoa-Framework erweitert. Leider sind diese Infos im Blog noch nicht aktualisiert worden... /:->

Re: WindowID, GadgetID unter anderen OS

Verfasst: 31.08.2014 22:12
von Bisonte
CSHW89 hat geschrieben:... oder wenn du die PB-Map benutzt, einfach ein Buchstaben vorsetzen, also z.b. "G"+Str(GadgetID) für ein Gadget-Key, "W"+Str(WindowID) für ein Window-Key ect...
lg Kevin
:praise: auf das naheliegenste kommt man einfach nicht :mrgreen:

Re: WindowID, GadgetID unter anderen OS

Verfasst: 01.09.2014 18:27
von edel
Unter Linux sind das doch alles Zeiger auf irgendwas, das Objekt gibt es somit nicht ein zweites Mal.

Re: WindowID, GadgetID unter anderen OS

Verfasst: 01.09.2014 20:19
von Danilo
edel hat geschrieben:Unter Linux sind das doch alles Zeiger auf irgendwas, das Objekt gibt es somit nicht ein zweites Mal.
Ist auf Mac OS X auch so, da sind es alles Objekte (Instanzen von Klassen).

Re: WindowID, GadgetID unter anderen OS

Verfasst: 01.09.2014 20:27
von Bisonte
Also kann man sagen, unter Windows, Linux und Mac sind alle OS-Handles = Unikate.
Also doch nur eine Map ;)

Danke für die rege Beteiligung...