Seite 2 von 2
Re: Bug bei verwendung von Pointern auf Maps
Verfasst: 08.02.2011 18:17
von cxAlex
ts-soft hat geschrieben:PMV hat geschrieben:
funktioniert auch wunderbar.
In der dritten Zeile ordnest Du ja auch einen Wert zu, davor ist es ungültig. Kannst ja mal davor ein Debug
einfügen, dann merkste es.
In der dritten Zeile weist er dem aktuellen Eintrag der Map einen Wert zu. Anlegen tut er ihn in der 2. Zeile und da weist er ihm keinen Wert zu. Also weist legt er einen neuen Wert an ohne! ihm einen Wert zuzuweisen!
Also ist das ganze entweder ein undokumentiertes Feature oder ein Bug.
Gruß, Alex
Re: Bug bei verwendung von Pointern auf Maps
Verfasst: 08.02.2011 18:31
von ts-soft
Ich würde sagen, das ist lediglich eine Optimierung des Compilers und man sollte es besser nicht so nutzen.
Re: Bug bei verwendung von Pointern auf Maps
Verfasst: 08.02.2011 18:53
von DrShrek
ts-soft hat geschrieben:Ich würde sagen, das ist lediglich eine Optimierung des Compilers und man sollte es besser nicht so nutzen.
Also wenn es in der Online Help so auch möglich ist, dann sollte das auch fehlerfrei funktionieren.
Also dann ist es ein BUG, wenn dem nicht so ist.
Alternativ könnte es wieder als Feature abgekündigt werden. Dann ist es aber als SyntaxFehler anzumeckern.
Re: Bug bei verwendung von Pointern auf Maps
Verfasst: 08.02.2011 19:05
von mk-soft
Hab mal mit der Map gesp...
Code: Alles auswählen
Structure udtMap
iVal.i
strVal.s
EndStructure
Procedure Output(*this.udtMap)
Debug *this\iVal
Debug *this\strVal
EndProcedure
NewMap MyMap.udtMap()
MyMap("DE")
MyMap()\iVal = 30
MyMap()\strVal = "Hallo Welt"
MyMap("EN")
MyMap()\iVal = 22
MyMap()\strVal = "Hello world"
Output(MyMap("DE"))
Output(MyMap("EN"))
Funktioniert wie bei einer LinkedList
FF

Re: Bug bei verwendung von Pointern auf Maps
Verfasst: 08.02.2011 19:24
von ts-soft
Bloß nur mit Namen existiert der Eintrag nicht in der Hashmap. Erst nach Zuordnung eines Wertes, wird er
eingetragen, was ja auch Sinn macht. So stelle ich mir das jedenfalls vor. Dann stimmt auch die Syntax und die
Hilfe. Dann ist auch klar, warum keine Pointer existieren, solange keine Werte in der Hashmap sind.