Seite 1 von 1

InitializeStructure nicht verständlich

Verfasst: 10.06.2013 13:36
von Velox
Hallo,

kann mir jemand diesen Befehl näher erklären?
Wieso sollte ich InitializeStructure nutzen wenn ich bereits eine Structure XY erstellt habe?

Gruß
Velox

Re: InitializeStructure nicht verständlich

Verfasst: 10.06.2013 13:53
von ts-soft
Wenn Du eine Structurevariable im Speicher erstellst, was in manchen Situationen erforderlich ist, und diese
Listen oder Maps enthält, funktionieren diese nur mit InitializeStructure. Bei normaler (ohne Pointer) erstellten
Variablen ist dies nicht erforderlich, sondern wird vom Compiler erledigt.

Code: Alles auswählen

EnableExplicit

Structure bla
  List blub.i()
  a.i
  Map blob.i()
EndStructure

Define *my.bla
*my = AllocateMemory(SizeOf(bla))
InitializeStructure(*my, bla)
Gruß
Thomas

Re: InitializeStructure nicht verständlich

Verfasst: 11.06.2013 12:00
von Velox
Verstehe ich so das ich dann InitializieStructure nur brauche wenn ich mit Pointer arbeite, richtig?

Gruß
Velox

Re: InitializeStructure nicht verständlich

Verfasst: 11.06.2013 12:05
von Bisonte
Wenn du eine Struktur hast in der Linklists oder Maps vorhanden sind und du reservierst Speicher, dann brauchst du es.

Also so wie ts-soft im Beispiel zeigt.

Bei einem Variable.bla braucht man das nicht, da PB sich da wohl selbst was hinbastelt.