Zitat:
Der Warnhinweis hat damit nichts zu tun, der möchte dir nur sagen "Vorsicht bei Zeigern".
Das ist ja nett von dem Warnhinweis. Aber das hättest der denen sagen mussen, die PChar-Zeiger als Parameter für MessageBox haben wollen, und nicht denen, die bei der Nutzung einer derartigen Funktion eben solche Pointer angeben müssen und gar keine andere Wahl haben, egal ob AnsiString oder WideString.
Wenn ich PChar(txt) übergeben und txt ist selbst als String oder AnsiString (also als ein Delphistring mit Länge ohne abschließendes Hex-00) vereinbart, dann macht ja Delphi die Anpassung - was soll dabei schief gehen ? Wenn man die Texte direkt als Literal angibt ( ' Hallo AnsiString' ), dann kommt ja keinerlei Warnhinweis, intern muss das aber auch in einen Pointer konvertiert werden.