WindowID(), EventWindowID() PB-ID oder Handle?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

WindowID(), EventWindowID() PB-ID oder Handle?

Beitrag von PBZecke »

Hallo!

Die folgenden Befehle liefern die ID also die PB-Nummer des Objekts zurück:

Code: Alles auswählen

EventGadgetID()
EventMenuID()
EventWindowID()
Diese Befehle liefern das Windowshandle:

Code: Alles auswählen

WindowID()
GadgetID()
ImageID()
MemoryID()
FontID()
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?
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag 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
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8820
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag 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.
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag 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.... :wink:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag 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. 8)
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag 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..
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag 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? :wink:
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag 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.
Bild
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag 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.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag 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.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Antworten