![]() |
Pointer zu String?
Hallo!
Ich würde gerne ein Pointer zu einem String Casten. Also der Pointer (untypisiert) zeigt auf eine vorhandene Stringvariable aber wenn ich folgendes mache:
Delphi-Quellcode:
kommt ein Leerstring bei raus. Woran mag das liegen?
par:=String(aValue^);
Gruß Teekeks |
Re: Pointer zu String?
Hi,
Versuchs mal so:
Delphi-Quellcode:
Gruß
par := PString(aValue)^;
Neutral General |
Re: Pointer zu String?
Zitat:
Zitat:
|
Re: Pointer zu String?
das mach ich so:
Delphi-Quellcode:
Edit:
Value:=@stra[High(stra)];
achso, oben ist par ein string... |
Re: Pointer zu String?
Eine Stringvariable ist ja auch ein Zeiger
|
Re: Pointer zu String?
das heißt?
Edit (arrg) wie soll ich das sonst machen? |
Re: Pointer zu String?
Was für ein Pointer liegt denn vor? Wenn du den Pointer von irgendeiner API bekommst, zeigt er vermutlich auf das erste Element des Strings, nicht auf den String selber. Den Pointer müsstest du in diesem Fall als PAnsiChar deklarieren. Den kannst du dann einem String ohne Probleme zuweisen - der Compiler regelt das automatisch.
|
Re: Pointer zu String?
Ich schätze mal die beiden Zeilen
Delphi-Quellcode:
und
Value:=@stra[High(stra)];
Delphi-Quellcode:
stehen in 2 unterschiedlichen Methoden und stra ist ein lokales Array of String?
par:=String(aValue^);
|
Re: Pointer zu String?
Das ist aber ein Zeiger auf das letzte Zeichen und kein Zeiger auf einen Delphi-String.
Code:
[edit]
[s]par := Char(aValue^);
// oder par := PChar(aValue)^; // "kein" Zeiger auf einen PChar-String, sondern auf ein Char[/s] wenn "stra" ein String :oops:
Delphi-Quellcode:
oder versuch mal
Value:=Pointer(stra[High(stra)]);
par:=String(aValue); Value:=@stra[High(stra)]; par:=String(aValue^); // und sicher daß die Strings nicht verschoben/verändert werden?
Delphi-Quellcode:
par:=PChar(aValue^);
// oder par:=PPChar(aValue)^; |
Re: Pointer zu String?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 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