Handles und ID's

Identifier

Alle erstellten Objekte werden durch eine beliebige Nummer (welche nicht das "Handle" des Objekts ist, siehe hierzu weiter unten) angesprochen. In dieser Anleitung werden diese Bezeichner durch die Notation #Nummer gekennzeichnet. (So hat zum Beispiel jedes erstellte Gadget eine #Gadget Nummer.)

Die Zahlen, die man Objekten zuweist, müssen keine Konstanten sein, sie müssen aber für jedes Objekt einmalig sein. (Ein Bild kann z.B. aber die gleiche Zahl wie ein Gadget haben, weil dies ja unterschiedliche Dinge sind.) Diese ID's werden benötigt, um die Objekte später im Programm anzusprechen.

Zum Beispiel geben folgende Event-Funktionen diese ID's zurück:

- EventGadgetID()
- EventMenuID()
- EventWindowID()

Handles

Alle Objekte bekommen auch vom System eine Nummer zugewiesen. Diese Nummern nennt man Handles.

Einige PureBasic Funktionen benötigen eben diesen Handle, und nicht die ID von PureBasic. In dieser Anleitung wird dies zum Beispiel durch 'ImageID' angedeutet.

Beispiel:

  ImageGadget(#Gadget, x, y, Breite, Höhe, ImageID [, Flags])
  ; #Gadget ist hier die Nummer, die man dem Gadget zuweisen will.
  ; ImageID muss hier der Handle zu einem Bild sein.
Um diesen Handle von einem Objekt zu ermitteln, gibt es folgende Funktionen:

- WindowID()
- GadgetID()
- ImageID()
- MemoryID()
- FontID()
Meistens geben die Funktionen, die ein Objekt erstellen, auch diesen Handle als Ergebnis zurück, wenn das Objekt erfolgreich erstellt wurde.

Beispiel:

  GadgetHandle.l = ImageGadget(...)