7.8 Automatische ID-Zuweisung

Bei allen Befehlen, die von Ihnen eine ID (Identität/Identifikator/Kennung) für das neue Hollywood-Objekt verlangen, können Sie Nil angeben. In diesem Fall wird Hollywood automatisch eine ID auswählen und an Sie zurückgeben. Dies ist besonders für größere Projekte nützlich. Wenn Ihr Projekt klein ist, ist es bequemer, die IDs selbst zu wählen, z.B:

 
LoadBrush(1, "brush1.iff")
LoadBrush(2, "brush2.iff")
LoadSample(1, "sample.wav")
OpenFile(1, "file.txt")

Wenn Ihr Projekt jedoch größer wird, kann das ID-Management sehr aufwendig werden und niemand will sich mit einer Vielzahl von unterschiedlichen IDs und Hollywood-Objekten beschäftigen. So können Sie einfach Nil anstelle einer ID angeben und Hollywood wird eine ID für das neue Objekt zurückgeben, die garantiert eindeutig ist, weil es den speziellen Variablentyp #LIGHTUSERDATA verwendet. Auf diese Weise wird sichergestellt, dass keine ID-Konflikte entstehen. Außerdem wird Hollywood nicht eine ID aus dem ID-Pool aussuchen (das heißt ganze Zahlen von 1 bis n). Somit werden alle normalen IDs immer noch zur Verfügung stehen, z.B:

 
brush1 = LoadBrush(Nil, "brush1.iff")
brush2 = LoadBrush(Nil, "brush2.iff")
sample1 = LoadSample(Nil, "sample.wav")
file1 = OpenFile(Nil, "file.txt")

Die Variablen brush1, brush2, sample1 und file1 werden keine für den Benutzer lesbare IDs generieren, aber spezielle IDs vom Typ #LIGHTUSERDATA erhalten. Somit werden alle vom Benutzer lesbaren IDs ab 1 bis n immer noch verfügbar sein. Daher müssen Sie sich nicht um irgendwelche ID-Konflikte sorgen, wenn Sie Nil zum Erstellen von Objekten benutzen, weil Hollywood zwei getrennte ID-Dimensionen verwendet: Eine für Benutzer lesbare, die nur zur Anwendung kommt, wenn Sie eine ID bei der Objekterstellung angeben und einen internen ID-Mechanismus, der verwendet wird, wenn Sie anstelle einer ID Nil bei der Objekterstellung eintippen.


Navigation zeigen