![]() |
Delphi-Version: 10.3 Rio
VarToStr gibt leeren String zurück
Hallo zusammen,
Ich habe eine Variable vom Typ "Variant" die einen String enthält. Das habe ich mit dem Debugger geprüft. Wenn ich diese Variable mit "VarToStr" einem String zuweise ist dieser String leer. Die Routine "VarType" liefert für die Variable den Wert 256 (das sollte also wirklich ein String sein) Außerdem liefert "VarIsStr" true zurück. Trotzdem ist der String nach der Umwandlung leer. Hat jemand eine Idee, woran das liegen könnte? [EDIT]: Delphi Version ist Rio Danke schon mal, Ralf |
AW: VarToStr gibt leeren String zurück
varString ist ein AnsiString (außer im NEXTGEN)
Du könntest deinen Variant nach TVarRec casten, dann siehst ganz genau was drin ist. Eigentlich wird beim auslesen in einen AnsiString gecastet und es kann keine Verluste geben, außer beim anschließenden Cast nach String/UnicodeString (Result), welcher aber auch verlustlos sein sollte. |
AW: VarToStr gibt leeren String zurück
Es gibt auch VarToWideStr()
|
AW: VarToStr gibt leeren String zurück
Zitat:
Ich vermute mittlerweile, dass die Ursache bei der Zuweisung des Variants liegt. Der sollte nämlich "eigentlich" VarType 258 (unicode) haben, zumindest hat ein Variant diesen Typ wenn man einen normalen String direkt zuweist (
Delphi-Quellcode:
)
myVar := 'TEST'
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz