MVXA hat geschrieben:GadgetID() hat geschrieben:Dieses Ergebnis ist manchmal auch als 'Handle' bekannt, sehen Sie in das gesonderte Kapitel Handles und ID's für weitere Informationen.
Die sind nicht nur manchmal sondern immer als Handles bekannt

. Sie sind vielleicht manchen als Handles bekannt aber nicht manchmal...
Um genau zu sein ist es nicht als Handle sondern als Handle zu einem Fenster, also einem Handle des Typs HWND bekannt, oder irre ich mich da? Schließlich ist jedes Gadget in PB ein Window. Und da hat der Handle den speziellen Typ HWND. In der WinAPI gibts ja auch noch den Typ HANDLE, der aber afaik irgendwas mit void* zu tun hat, jedenfalls nicht gleich HWND ist... Also müsste die Funktion wie folgt lauten:
HWND GadgetID(#Gadget)
Andererseits... Die Funktion ist ja portierbar auf Amiga und Linux (vielleicht auch MAC OS?). Und da heißt der Typ sicher wieder anders. Naja, allgemein gesagt ist es also ein Handle, für Windows vom Typ HWND.
Naja, und dass die Hilfe Fehleranfällig ist, ist ja bekannt. Ich möchte da ja niemandens Arbeit schlecht machen, aber so manche Schnitzer sind da ja doch drinne.
Vielleicht könnte man sich auch angewöhnen, den Datentyp beim Rückgabewert dazu zuschreiben. Beispielsweise bei dieser Funktion:
Es wird also ein Zahlenwert zurückgegeben, nur welchen Datentyp hat dieser? Ok, bei PB keine Sache, da wird gecastet bis zum Umfallen ohne Fehlermeldungen (Fehler dennoch nicht ausgeschlossen

) aber es wäre doch gut zu wissen welcher Typ zurückgegeben wird. Bei String-Rückgaben steht ja ein "Ergebnis$" dort was ja auf einen String deuten lässt. Immerhin sind hier nur Werte von 0 - 255 möglich, sodass der Typ unsigned byte wäre, bzw. (da es den nicht gibt) würd ich auf word zurückgreifen weils der nächstgrößere ist (oder aber long damits einheitlich 32 bit ist.)
Jedenfalls sollte man da einen Vermerk machen, welche Typen die Rückgabewerte haben. Und wenn nicht in jedem Befehl extra erwähnt, dann doch eine extra kleine Seite in der Hilfe über Rückgabewerte. Dass man bei Zahlenwerten von Long ausgehen sollte und Ergebnis$ eben String usw...
Naja, nur so kleine Anmerkungen zur Verbesserung, vielleicht auch unnötig, es gibt in PB ja nur so ein paar Datentypen. Und da die ja untereinander sowieso ziemlich flexibel gecastet werden macht es wohl auch nicht so viel aus.