-

Besonderheiten von BUF_TO_STRING/BUF_TO_WSTRING

Das Verhalten des für den Datentyp STRING/WSTRING unterscheidet sich vom Verhalten für die anderen Datentypen. Wenn Sie eine Zeichenfolge mit dem Eingang BUFFER verbinden, wird vorausgesetzt, dass diese Zeichenfolge ein Laufzeitsystem-formatierter String mit einem 4 Byte großen Header und einem abschließenden Null-Zeichen ist (siehe nachfolgenden Hinweis). Falls eine Formatumwandlung (Little-/Big-Endian) stattgefunden hat, wird dieser Header konvertiert. Wenn Sie jedoch Variablen anderer Datentypen (wie z.B. ein Feld mit BYTE- oder WORD-Elementen) mit dem Parameter BUFFER verbinden, werden diese im Fall einer STRING-Variablen als Einzelbyte-String bzw. im Fall einer WSTRING-Variablen als UTF16-String jeweils ohne Header erkannt. Diese Zeichenfolgen müssen ebenfalls mit einer Null abgeschlossen werden.

Hinweis
In einem STRING wird jedes Zeichen durch ein Byte und in einem WSTRING durch zwei Bytes oder, in bestimmten Sprachen, durch vier Bytes repräsentiert.

Die durch den Parameter BUF_CNT festgelegte zu kopierende Größe für den Datentyp STRING/WSTRING ist auf 32767 Bytes begrenzt (dies ist die maximal erlaubte STRING-Länge). Im Falle eines größeren Wertes, wird ERROR auf TRUE und STAUS auf 10 gesetzt.

Wenn der Zieldatentyp kein STRING/WSTRING ist, wird ERROR auf TRUE und STATUS auf 8 gesetzt.
Der notwendige freie Speicher in der Zielzeichenfolge besteht nur aus den Bytes, die kopiert worden sind. Falls die Zielzeichenfolge kleiner ist als notwendig, wird ERROR auf TRUE und STATUS auf 7 gesetzt.

Wenn die Quelle kein STRING/WSTRING ist, werden die angeforderten Daten kopiert und mit einem Nullzeichen abgeschlossen.

Wenn die Quelle ein STRING/WSTRING ist und im Parameter BUF_OFFS ein Offset eingestellt ist, wird ERROR auf TRUE und STATUS auf 9 gesetzt. Wenn kein Offset definiert ist, wird geprüft, ob die angeforderten Daten in der Quellzeichenfolge vorhanden sind. Nur die verfügbaren oder die angeforderten Daten werden kopiert und mit einem Nullzeichen abgeschlossen, sofern sie weniger Speicher benötigen als vorhanden.