Ich habe eine Struktur [c]TestStruc[/c] und eine Variable [c]TestStruc[/c], allerdings mit der Struktur [c]POINT[/c].
So wie es aussieht orientiert sich [c]SizeOf()[/c] immer mit höherer Priorität an der Struktur. Kann man da noch eine Option einbauen oder gleich einen neuen Befehl, der nur für Variablen funktioniert.
Wenn man jetzt einer Variablen den Namen gibt, wie ihn schon irgendeine Struktur in den Residents hat, könnte das eine böse Fehlerquelle sein. Und wenn sie gefunden hat, muss man entweder irgendwie die Struktur entfernen oder aber jedes einzelnen Vorkommen dieser Variable umbenennen.
Du hast Recht. Das wird eigentlich IMHO auch nicht ganz sauber von PB unter-
schieden, ob's nun die Struktur selbst, oder eine Variable, mit der Struktur
gemeint ist.
In C beispielsweise wird das folgendermaßen gemacht:
Hallo.TestStruc
TestStruc.POINT
sizeOf (struct TestStruc) ; liefert Größe der Struktur TestStruc (= Größe von Hallo)
sizeOf (TestStruc) ; liefert Größe von POINT
So long,
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
Laut Hilfe ist es ein Bug. Da steht nämlich nichts über Prioritätenvergabe von Structure, Variable oder Interface.
Das kann man jetzt sicherlich sehen wie man will. Aber zwei getrennte Befehl oder eine Option für Strukturen und Variablen halte ich für äußerst wünschenswert.
Und verwirrend ist es trotzdem. Oder siehst du das anders, IcoSoft?
Also ich wüde eher vorschlagen, dass man als 2. optionalen Parameter angibt, wo PB nachschlagen soll. Dies erhält die Kompatiblität zu alten Sources aufrecht und man kann trozdem dann noch die neue Variante verwenden. Hier ein Beispiel:
Habe mir eben gerade mal Dein Beispielcode angeguckt. Das geht aber an
unserem Problem total vorbei. Da es ja um den Fall geht, was für einen Wert sizeOf zurückliefert, wenn eine Variable und eine Struktur den selben
Namen haben, aber anderen Types sind
So long,
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !