Zitat von
jbg:
Zitat:
C-String, Delphi-AnsiString, LPSTR (PChar)
Das ist schonmal nur ein Typ.
Aua, aufhören. Das tut echt weh!
Vielleicht solltest du dir doch lieber nochmal das Wissen anlesen. C-String und PChar sind gleich, ja - mein Fehler -, aber der Delphi-AnsiString ist ein komplett anderes und compilergestütztes Konstrukt.
+ 2 Stringtypen
Zitat von
jbg:
Zitat:
BSTR, Delphi-WideString, LPWSTR (PWideChar)
Und das ein weiterer
Ja, ein weiterer Irrtum. BSTR ist genau wie der Delphi-WideString ein "counted string", wobei wie beim Delphi-WideString die Offsets negativ sind. Unterschied ist die interne Struktur die an diesen negativen Offsets liegt. Im Falle von BSTR ist dies nur ein DWORD. Beim Delphi-WideString (und auch AnsiString) sind dies noch mehr Member, Reference Count und Reservierter Speicher, soweit ich mich entsinne. Es handelt sich also tatsächlich um 3 verschiedene Stringtypen.
Übrigens: BSTR != OLESTR. LPOLESTR entspricht LPWSTR!
+ 3 Stringtypen
Zitat von
jbg:
Zitat:
Delphi-ShortString
Und noch einer.
Richtig, ist auch ein anderer Typ.
+ 1 Stringtyp
Zitat von
jbg:
Zitat:
UNICODE_STRING, STRING, ANSI_STRING, OEM_STRING ...
Toll, dann füg auch noch MYFAVORITE_SELF_CREATED_STRING hinzu.
Polemik bringt nichts, denn diese Typen wirst du sogar in deinem
PSDK finden. Dort ist zB UNICODE_STRING als LSA_UNICODE_STRING deklariert.
+ 1 Stringtyp (weil sich die Pointertypisierung nur unterscheidet bin ich mal großzügig)
= 7 Stringtypen
Wohlgemerkt, dies sind nur jene, die mir auf die Schnelle einfielen. Es könnte noch andere geben.
Zitat von
jbg:
Und wenn man es genau nimmt, dann gibt es nur einen Typ von String. Alles andere ist reine Interpretation.
Aua.
Zitat von
tommie-lie:
Und wenn Olli mit C-String den Typ String aus der C++-Standardbibliothek meint, ist das wieder was anderes als der Delphi-AnsiString und der LPSTR.
Nein, ich meinte tatsächlich den der PChar entspricht. War mein Fehler. Ansonsten hätte ich std::string geschrieben. Ist aber eine Klasse genau wie CString aus den MFC oder wxString aus den wxWidgets.
Zitat von
tommie-lie:
Zugegeben, zu BSTR fällt mir im Augenblick nichts ein
Ist counted.
Zitat von
malo:
Wenn man es genau nimmt, dann gibt es keine Strings. Strings werden in Delphi nur durch Compilermagic erstellt. Im Grunde sind das alles nur Char-Arrays
Dann darf man es aber nicht zu genau nehmen
Zitat von
Gandalfus:
Das ist kein Problem sondern ein Feature.