Seite 1 von 1

(gelöst)sizeof in strukturieren Arrays

Verfasst: 03.02.2007 00:30
von Toshy
Hi.

Code: Alles auswählen

  Structure SP_DEVICE_INTERFACE_DATA
    cbSize.l
    InterfaceClassGuid.GUID
    flags.l
    reserved.l
  EndStructure
  
  NewList ll_did.SP_DEVICE_INTERFACE_DATA()
  ClearList(ll_did()) 
  did.SP_DEVICE_INTERFACE_DATA
  [code]did\cbSize = SizeOf(did)
aus der strukturieren Variablen did kann ich problemlos die länge der Struktur mit sizeoff auslesen, aber wie geht das, wenn ich das direkt aus dem Array auslesen will?

Code: Alles auswählen

did(1)\cbSize = SizeOf(did(1))
oder ähnlich geht nicht.
wie geht das? ich mache das momentan auf dem umweg, das ich die länge von did in eine variable schreibe und dann zuweise.

Gruß
Toshy

Verfasst: 03.02.2007 01:34
von ZeHa
Hmmm kannst Du etwas näher erläutern, was Du vorhast?

Wenn Du tatsächlich nur die Größe der Struktur haben willst, dann kannst Du doch einfach weiterhin sizeof() benutzen. Die Größe ist ja immer gleich, egal, welche Werte sich in den einzelnen Struktur-Elementen befinden. Also gibt es eigentlich keinen Grund, etwas wie SizeOf(did(1)) zu benötigen.

Falls Du doch was anderes meinst, mußt du das halt nochmal genauer erklären...

Verfasst: 03.02.2007 12:32
von mk-soft
SizeOf ist keine RunTime Funktion sondern eine Compiler Funktion.

In der Regel gibt man bei SizeOf die Struktur an.

Code: Alles auswählen

Debug SizeOf(SP_DEVICE_INTERFACE_DATA)
Debug SizeOf(SP_DEVICE_INTERFACE_DATA\InterfaceClassGuid)
FF :wink:

Verfasst: 03.02.2007 16:48
von Toshy
mk-soft,
ach so geht das. ich dachte das man immer die Variable angeben muß, das man es auch mit der Struktur "darf" war mir nicht geläufig. Wenn es so geht, dann ist das ja kein Problem mehr.
Danke