![]() |
Lpstr, lpcstr, lptstr, lpctstr, ...
Wenn man die Windows SDK Dokumentation durchstöbert tauchen ständig die Typen LPSTR, LPCSTR, LPTSTR, LPCTSTR und ähnliche auf. Dass sie alle für einen String stehen, dürfte klar sein. Aber was ist der Unterschied? Lassen sich alle mit
Delphi-Quellcode:
übersetzen?
PChar
Gegoogelt habe ich bereits, aber keine Antworten gefunden, mit denen ich was anfangen konnte ... |
AW: Lpstr, lpcstr, lptstr, lpctstr, ...
![]() Wenn ich mal Vermutungen anstellen dürfte... LP = long pointer :gruebel: C = Const (unveränderlich aka nur Input-Parameter, also der String wird in der Funktion nicht verändert) ohne C = das wäre denn sowas wie ein Output- oder Input+Output-Parameter, also der Inhalt wird von der Funktion verändert ... wie z.B. bei ![]() STR = String (Ansi?-Char-Array) TSTR = Char-Array (ansi oder wide) WSTR = Wide-Char-Array bezüglich des C: In Delphi gibt es keine unterschiedlichen Typen, für eine Parameterbeschreibung ala Const/In/Out/Var, darum wird hier auch Vieles in nur einem Typen übersetzt. |
AW: Lpstr, lpcstr, lptstr, lpctstr, ...
Vielen Dank schonmal für deine Antwort, obwohl mir das C und das T immer noch nicht ganz klar sind...
Also lassen sich alle mit PChar übersetzen? |
AW: Lpstr, lpcstr, lptstr, lpctstr, ...
![]() ![]() ![]() ... ich glaub es sollte wohl so sein: STR = AnsiString TSTR = String WSTR = WideString also demnach wäre es: LPSTR LPCSTR = PAnsiChar LPTSTR LPCTSTR = PChar LPWSTR LPCWSTR = PWideChar Viele übersetzen sowas wie LPSTR, LPCSTR, LPTSTR und LPCTSTR leider nur als PChar, welches sich spätestens seit Delphi 2009 rächt. (kenn mich aber auch nicht so super gut in C aus, also es muß nicht alles genau so stimmen) |
AW: Lpstr, lpcstr, lptstr, lpctstr, ...
Danke :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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-2025 by Thomas Breitkreuz