System.MarshaledString
Delphi
type MarshaledString = ^Char;
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
pointer | public | System.pas | System | System |
Beschreibung
Definiert einen nullterminierten Unicode-String.
MarshaledString definiert einen Zeiger auf eine Speicherposition, die WideChar-Werte (einschließlich des Zeichens #0) enthält.
MarshaledString ist ein Alias für PChar.
Hinweise:
- MarshaledString-Variablen sind unsicher, wenn sie in Kombination mit normalen string-Werten verwendet werden. MarshaledString-Variablen unterliegen nicht der Referenzzählung und werden beim Zuweisen nicht kopiert ("Copy-On-Written-Semantik"). Dies kann zur Beschädigung der string-Werte oder zu Speicherlecks führen.
- Um die Notion des Entfernens von Zeigern beizubehalten und eine zukunftsorientierte Verwendung zu ermöglichen, benötigt der neue mobile Delphi-Compiler der nächsten Generation einen expliziteren Stil für das Marshaling von Daten in die/aus den externen APIs und Bibliotheken. Weitere Informationen finden Sie unter Migrieren von Delphi-Code zu mobilen Anwendungen vom Desktop aus.