Seite 1 von 2
WindowID(), EventWindowID() PB-ID oder Handle?
Verfasst: 31.10.2004 15:47
von PBZecke
Hallo!
Die folgenden Befehle liefern die ID also die PB-Nummer des Objekts zurück:
Diese Befehle liefern das Windowshandle:
Mein Problem damit ist die Endung aller Befehle auf “ID”. Meiner Meinung nach ist das Syntaktisch unlogisch. Eine der beiden Gruppen müsste (vielleicht in der V 4 also größeres Update) geändert werden. z.B. WindowID() in WindowHandle(),GadgetID() in GadgetHandle() usw. Oder was meint Ihr dazu?
Verfasst: 31.10.2004 15:52
von remi_meier
Ich finds für die Anfänger einfacher wenn es einheitlich immer ID heisst. Für die, die dann für die WinAPI den Unterschied zwischen Handle und ID wissen müssen, sollte das einfach in der Hilfe stehen (tuts glaub auch). Für mich ist das so kein Problem. Und Basic soll ja schliesslich einfach sein!
greetz
remi
Verfasst: 31.10.2004 15:58
von NicTheQuick
Eigentlich würde ich sagen, dass es für Anfänger eher verwirrender ist, wenn alles mit ID endet.
Aber gerade diese Befehle kann man jetzt nicht mehr ändern, weil sie nahezu in jedem Code schon verwendet werden. Ich würde mich zumindest aufregen - auch wenn es nichts nützt - wenn diese Befehle geändert werden würden.
Verfasst: 31.10.2004 16:11
von Andre
NicTheQuick hat geschrieben:Eigentlich würde ich sagen, dass es für Anfänger eher verwirrender ist, wenn alles mit ID endet.
Aber gerade diese Befehle kann man jetzt nicht mehr ändern, weil sie nahezu in jedem Code schon verwendet werden. Ich würde mich zumindest aufregen - auch wenn es nichts nützt - wenn diese Befehle geändert werden würden.
Wenn man den Zusammenhang z.B. zur WinAPI sieht, wäre WindowHandle() etc. vom Befehlsnamen her wohl logischer. Aber sonst gilt was Nic bereits gesagt hat.
Müsste höchstens mal noch sehen, die Beschreibung der Befehle in der Anleitung noch "logischer" und besser "unterscheidbar" hinzubekommen....

Verfasst: 31.10.2004 16:39
von PBZecke
Wenn die 4.0 wirklich große Veränderungen mitbringen sollte, ist sowieso alter code anzupassen, es wäre jedenfalls eine gute Gelegenheit alte grundsätzliche Fehler in PB zu beheben.
edit:
@Andre: Die Hilfe klärt das schon sehr gut (machst einen guten Job!) Mit einer noch ausführlicheren Beschreibung könnte man diesen Fehler jedoch nicht beheben.

Verfasst: 31.10.2004 19:21
von Deeem2031
Man könnte ja den Befehl mit zwei Namen aufrufbar machen, also WindowID() und WindowHandle(). In der Hilfe beschreibt man dann aber nur die ..Handle Proc damit die neuen nur die benutzen.
Nur sone Idee..
Verfasst: 31.10.2004 19:22
von Lars
Ich würde das auch gutheißen, am besten jedoch das gesamte ID System
abschaffen. . .
Andererseits, die Abschaffung des ID Systems würde wirklich ernsthafte
Änderungen in den Codes nötig machen, während das Ändern der Befehle
ein einziges Suchen&Ersetzen des Editors ist, evtl. auch automatisiert als
standalone-executable, das wäre doch nicht so ein Problem, oder, Nic?

Verfasst: 31.10.2004 19:29
von MVXA
ich wäre auch dafür das man das ID system abschaft. wenn man schon dabei ist sollte man noch ein paar änderungen mehr einführen. z.b. sollte usefile weg fallen und bei read/write immer die Nummer der Datei angeben. Das macht das arbeiten mit mehreren Dateien einfacher.
Verfasst: 31.10.2004 20:07
von PBZecke
Meine Vermutung ist, dass das ID-System noch aus den Anfangs-Amiga-Tagen von PB ist. Erst als die Windows-Version da war wurden die Handles benötigt. Ich wäre auch für eine Abschaffung der ID's, denn selbst in den PB-Befehlen benötigt man ja meist die Handles.
Aber an eine Abschaffung glaube ich nicht, da dann das ganze Event-Handling geändert werden müsste. Und das wäre wirklich eine grundlegende Änderung, die fast jeden bis jetzt geschriebenen Code absolut unbrauchbar machen würde.
Verfasst: 31.10.2004 20:46
von GPI
Aus der Amiga-Zeit ist es nicht zwingend. Früher war halt bei einen Basic es üblich, das man ein ID selbst bestimmt und nicht ein Handle zurückgibt.
Ich persönlich finde mitlerweile, das die Handle-Übergabe wesentlich mehr vorteile hat. Deshalb gibt es ja auch das #pb_any.