Also habe ich es ja auch schon länger gemacht.
Aber mich wunderte halt, das es mit Variablen geht, aber nicht mit "selbigen in Arrays oder so".
Auch ist
Code: Alles auswählen
Define Pos.COORD
Debug SizeOf(COORD) ; ist korrekt
Debug SizeOf(Pos) ; ist eigentlich quatsch
nicht zwangsweise quatsch. Natürlich weiß ein Programmierer (sollte er auf jedenfall

wie seine Strukturen aussehen, aber ob ich nun Macros oder Proceduren nutze kann man diese viel variabler erstellen, wenn man die Größe auch anhand des "Variablennamens" rausbekommt.
Da es mit der "normalen Variable" geht, hoffte ich das dies immer geht.
Ich habe da eine Procedure und ein Macro die auch funktionieren sollten, wenn sich die Struktur einer Variable ändert
Also in der Art von
Code: Alles auswählen
if x = y
Pos.COORD
else
Pos.BlaStuct
endif
Debug SizeOf(Pos)
; z.B. zum kopieren von Strukturinhalten
Ich kenne mich mit den internen Abläufen der Programmiersprache bzw. denen des Systems / Maschinencode nicht aus, aber ich vermutete halt, das intern natürlich bekannt sein muß, welche Struktur und damit Größe eine Variable hat. Wie könnte sonst später auf die Struktur zugegriffen werden. Also war für mich auch klar, das man dies wieder auslesen kann und dies in PB mit Sizeof() geschieht. Da es mit normalen strukturierten Variablen geht, warum also nicht auf mit in Arrays oder LinkedLists verpackte strukturierte Variablen.
Aber das es wohl absichtlich damit nicht geht (hat das mal jemand vom PB "offiziell" bestätigt gelesen?) ist das Thema damit wohl vorerst mal erledigt und ich kann diesen Beitrag als beendet ansehen.
1. Win10
PB6.1