![]() |
Re: Probleme mit WideChar
Zitat:
|
Re: Probleme mit WideChar
Zitat:
|
Re: Probleme mit WideChar
Zitat:
Delphi-Quellcode:
und meine schleife macht ja eigentlich auch nichts anderes ausser das sie halt jeden einzeln durchgeht und dann ab dem index 2 das bedürfnis hat mir den wert vom index 2 in index 0 und 2 zu schreiben (also wie in meinem post vorher beschrieben). Und da liegt ja mein Problem wie kann ich verhinder das er mir den Wert vom Index i-2 verändert wenn er eigentlich grade den index i bearbeitet?
SItemID[0]:=@WideString(Test[0])[1];
SItemID[1]:=@WideString(Test[1])[1]; SItemID[2]:=@WideString(Test[2])[1]; SItemID[3]:=@WideString(Test[3])[1]; SItemID[4]:=@WideString(Test[4])[1]; ach ja die strings die in test stehen kommen aus ner ini-file. ist es falsch die nachdem öffnen und dem rausholen aller benötigten informationen zu schließen?? vielleicht liegt es ja daran. aber leichen wollte ich eigentlich nicht hinterlassen *gg* |
Re: Probleme mit WideChar
:drunken: Ich muss doch getraeumt haben! Der Fehler ist ja offensichtlich und wurde auch weiter oben glaub ich schon mal angesprochen. Du wandelst mit WideString(...) ein AnsiString in ein WideString um, beachtest aber nicht, dass diese Umwandlung nur temporaer geschieht. Du speicherst also einen Pointer auf einen Speicherbereich, der nach Ausfuehrung der Codezeile wieder freigegeben wird. Wahrscheinlich arbeitet der Optimizer in Schleifen etwas anders als bei deiner letzten Befehlsfolge, was die Nutzung von Speicher angeht - das erklaert die unterschiedlichen Ergebnisse. Dass es nicht sofort zu einer Schutzverletzung kommt, kommt wahrscheinlich daher, dass die Strings recht kurz sind und die Win-Speicherverwaltung nicht Byte-genau arbeitet. Die Loesung waere demnach eine der folgenden:
1. mache das Original-String-Array als array of WideString ODER: 2. erstelle ein zusaetzliches Array vom Typ WideString und mach darauf zuerst eine Zuweisung und verzichte auf das WideString(...) in der Anweisung. Das sollte gehen! :angle: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 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 by Thomas Breitkreuz