Kernproblem ist, dass der Begriff ID nicht eineindeutig verwendet wird in der Help.
dazu kommt, dass es noch eine dritte Klasse von IDs gibt, die PB-internen Handles.
der Befehl heißt ImageID(), liefert also eine ID zurück, somit kann das Argument keine ID sein. punkt.
also müsste die Nummer auch überall als Nummer bezeichnet werden.
eindeutig wäre, wenn das Handle auch immer als Handle bezeichnet wird.
das ist ja aber als Rückgabe von BlablaID eben nicht der Fall.
... was der Sinn des ganzen ist, erschließt sich nicht, ich vermute mal,
dass die Formulierung einfach eine alte überkommene ist und insofern
die Verwirrung historisch begründet.
ob es sinnvoll sein könnte, die ganzen Befehle BlablaID in BlablaHandle oder hBlabla umzubenennen, mag jeder für sich denken.
(...,ImageID...)
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Seit wann so engstirnig? Seit wann definiert der Prozedurname das, was
die Prozedur macht/ zurück gibt. Ich dachte immer, das kommt drauf an,
was in der Prozedur passiert.
Na, was macht das Macro wohl? 
Ich würd ja sagen, dass es dich ärgert, aber da steht, es macht dich Glücklich ... *ausführ*
Welch wundersame Technik, da fällt mir ein, was dir helfen könnte
PS:
MFG PMV
die Prozedur macht/ zurück gibt. Ich dachte immer, das kommt drauf an,
was in der Prozedur passiert.
Code: Alles auswählen
Macro MakeKaeruHappy()
AergerKaeruBisZumMorgengrauen()
EndMacro

Ich würd ja sagen, dass es dich ärgert, aber da steht, es macht dich Glücklich ... *ausführ*

Welch wundersame Technik, da fällt mir ein, was dir helfen könnte

Code: Alles auswählen
Macro GethWindow(PB_ID)
WindowID(PB_ID)
EndMacro
Code: Alles auswählen
Procedure AergerKaeruBisZumMorgengrauen()
BestellEineHuebscheFrau()
LassHuebscheFrauRein()
VerabschiedeDichVonKaeru()
GeheSpazieren(EineStunde)
EndProcedure
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
So ganz stimmt das eben nicht. Die von mir definierte Prozedur macht
genau das gegenteil von dem, wie sie heißt ... mit dem Macro hab ich das
behoben. Es hat also schon entfernt etwas mit dem zu tun, was sie
macht ... nur sehr sehr unglücklich gewählter Name
Die PB-Befehle geben ja eine ID zurück, die Systemweit dieses Objekt
identifiziert. Sie hat halt unter Windows einen entsprechenden Namen,
nämliche "Handle" ... PB dagegen verwendet für seine Objekt-
Nummerierung "Nummer" und "ID" ... unterscheidet in den
Befehlsreferenzen aber damit zwischen OS-ID und PB-ID, das bei den
PB-ID eben die Raute als Referenzzeichen für Nummer verwendet wird,
während bei den OS-IDs der entsprechend zu verwendende Befehlsname
niedergeschrieben ist.
MFG PMV
genau das gegenteil von dem, wie sie heißt ... mit dem Macro hab ich das
behoben. Es hat also schon entfernt etwas mit dem zu tun, was sie
macht ... nur sehr sehr unglücklich gewählter Name

Die PB-Befehle geben ja eine ID zurück, die Systemweit dieses Objekt
identifiziert. Sie hat halt unter Windows einen entsprechenden Namen,
nämliche "Handle" ... PB dagegen verwendet für seine Objekt-
Nummerierung "Nummer" und "ID" ... unterscheidet in den
Befehlsreferenzen aber damit zwischen OS-ID und PB-ID, das bei den
PB-ID eben die Raute als Referenzzeichen für Nummer verwendet wird,
während bei den OS-IDs der entsprechend zu verwendende Befehlsname
niedergeschrieben ist.
MFG PMV
ID und Handle sind auch im OS nicht das gleiche. Und Handles müssen auch nicht zwangsläufig Systemweit einzigartig sein. Es gibt ettliche Handle, die nur auf den Prozess in dem sie geöffnet wurden gültig sind.PMV hat geschrieben: Die PB-Befehle geben ja eine ID zurück, die Systemweit dieses Objekt
identifiziert. Sie hat halt unter Windows einen entsprechenden Namen,
nämliche "Handle" ... PB dagegen verwendet für seine Objekt-
Nummerierung "Nummer" und "ID" ... unterscheidet in den
Befehlsreferenzen aber damit zwischen OS-ID und PB-ID, das bei den
PB-ID eben die Raute als Referenzzeichen für Nummer verwendet wird,
während bei den OS-IDs der entsprechend zu verwendende Befehlsname
niedergeschrieben ist.
So ganz durchgeblickt hab ich da auch nie. Die Handles im OS scheinen Speicheradressen zu Objektstukturen zu sein. Wärend eine ID eher zur Identifikation dient als zum Zugriff. idProcess <> hProcess

Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

Ja ... für mich identifiziert alles ein Objekt, mit dem man auf ein Objekt
zugreifen kann. Ob das irgend ein Index ist, eine zufällige eindeutige
Nummer, ein direkter Zeiger auf den Speicherbereich oder eine sonnstige
Referenz (Handle), mit der auf das Objekt zugegriffen werden kann ...
alles wird aus der sicht des "Nutzers" zum identifizieren verwendet
und muss lediglich einer Methode/ Prozedur übergeben werden. Wie diese
intern verwendet wird spielt somit keine rolle. Damit ist die Bezeichnung
auch letzten Endes irrelevant, Hauptsache die Hilfe ist ebenfalls eindeutig.
Das heißt es gibt dort keine verwechslung oder verschmelzung von
möglichen Bezeichnungen.
Die PB-Hilfe hat das ja wie schon gesagt mit der Raute gelöst. Und spricht
in jedem Parameter nur dann von einer "ID", wenn der entsprechende
Befehl benötigt wird, der laut Hilfe ein Handle zurück gibt. Unter jedem
dieser XxxID()-Befehle steht der selbe Hinweis samt einem direktlink zu
"Handles und Nummern". Doch dort wird plötzlich zwischen "ID" und Handle
unterschieden, was aber entgegen dem Kontext der restlichen Hilfe geht.
Es ist zwar nicht grundsätzlich Falsch, aber es führt zu verwirrung,
weshalb das Wort ID hier durch Nummer ersetzt werden sollte.
Was man als "ID" bezeichnet spielt also am Ende keine Rolle, es ist nur
wichtig, dass man bei dieser Bezeichnng bleibt, weil Falsch ist es nur wenn
man anfängt diese Bezeichnung sporadisch für alles Mögliche zu benutzen.
Um natürlich dann wiederrum auch keine verwirrung zu stifften muss sich
der "Benutzer" an die vorgegebenen Bezeichnungen halten. Das heißt PB
verwendet Nummer und die XxxID()-Befehle geben Handles zurück und
Windows verwendet Handles und IDs.
MFG PMV
zugreifen kann. Ob das irgend ein Index ist, eine zufällige eindeutige
Nummer, ein direkter Zeiger auf den Speicherbereich oder eine sonnstige
Referenz (Handle), mit der auf das Objekt zugegriffen werden kann ...
alles wird aus der sicht des "Nutzers" zum identifizieren verwendet
und muss lediglich einer Methode/ Prozedur übergeben werden. Wie diese
intern verwendet wird spielt somit keine rolle. Damit ist die Bezeichnung
auch letzten Endes irrelevant, Hauptsache die Hilfe ist ebenfalls eindeutig.
Das heißt es gibt dort keine verwechslung oder verschmelzung von
möglichen Bezeichnungen.
Die PB-Hilfe hat das ja wie schon gesagt mit der Raute gelöst. Und spricht
in jedem Parameter nur dann von einer "ID", wenn der entsprechende
Befehl benötigt wird, der laut Hilfe ein Handle zurück gibt. Unter jedem
dieser XxxID()-Befehle steht der selbe Hinweis samt einem direktlink zu
"Handles und Nummern". Doch dort wird plötzlich zwischen "ID" und Handle
unterschieden, was aber entgegen dem Kontext der restlichen Hilfe geht.
Es ist zwar nicht grundsätzlich Falsch, aber es führt zu verwirrung,
weshalb das Wort ID hier durch Nummer ersetzt werden sollte.
Was man als "ID" bezeichnet spielt also am Ende keine Rolle, es ist nur
wichtig, dass man bei dieser Bezeichnng bleibt, weil Falsch ist es nur wenn
man anfängt diese Bezeichnung sporadisch für alles Mögliche zu benutzen.
Um natürlich dann wiederrum auch keine verwirrung zu stifften muss sich
der "Benutzer" an die vorgegebenen Bezeichnungen halten. Das heißt PB
verwendet Nummer und die XxxID()-Befehle geben Handles zurück und
Windows verwendet Handles und IDs.

MFG PMV