a) Wenn man in der Structure die beiden Elemente vertauscht:
Code: Alles auswählen
Structure _LOCAL_FIXED_STRUCTURE_
*String
Length.l
EndStructure
b) Ich würde in den Namen das LOCALweglassen. Du hast zwar in Deinem vorangegangenen Beispiel den FIXED STRING lokal deklariert, aber dieser neue Datentyp lässt sich ja auch anders verwenden:
Code: Alles auswählen
Global *achValue = CREATE_FIXED_STRING(#MAX_VALUE_NAME)
Code: Alles auswählen
+ SizeOf(CHARACTER)
Und muss in derselben Prozedur nicht auch *a\Length der passende Wert zugewiesen werden? Z.B. so:
Code: Alles auswählen
Procedure.l FILL_FIXED_STRING (*a.FIXED_STRING_STRUCTURE, String.s)
If *a\Lenght > StringByteLength(String)
*a\Lenght = StringByteLength(String)
EndIf
CopyMemory(@String, *a, *a\Length)
EndProcedure