Forum: Sonstige Fragen zu Delphi
by kwhk,
12. Jul 2013
Ich glaube, um es Warnungsfrei und 100% korrekt zu machen, müsste man den Delphi-String in seiner belegten Länge in ein Char-Array eintragen, nach dem letzten String-Zeichen ein Hex-00 dahinterschreiben und den Zeiger auf das erste Zeichen des Arr als PChar übergeben. Ich vermute, daß Delphi das beim Ausdruck PChar(stringvariable) so ähnlich macht, also temporär den String umkopiert und mit...
Forum: Sonstige Fragen zu Delphi
by kwhk,
12. Jul 2013
Und die, die .NET immer weiter entwickeln und anwenden, sitzen ja auch bei Microsoft. Ist da ein Problem LINKE und RECHTE Hand. Was der eine macht, wird von dem anderen reklamiert.
Wenn ich die Warnungen ausschalte, kommen sie natürlich nicht. Aber eigentlich sind Warnungen ja etwas sehr Sinnvolles, nur wenn sie dort kommen, wo es gar nicht anders zu machen geht, dann sind sie nicht sinnvoll....
Forum: Sonstige Fragen zu Delphi
by kwhk,
12. Jul 2013
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...
Forum: Sonstige Fragen zu Delphi
by kwhk,
12. Jul 2013
Ja, aber in der XE3-Hilfe wurde doch wieder PChar angezeigt, genau wie bei Delphi 7. Nun mag das dabei ein WideChar sein, das angebliche .NET Sicherheitsproblem ist dabei doch dasselbe, ein Pointer auf den Anfang eines Stringes, dessen Ende man erst suchen muss.
Bei Delphi 7 kommt mit PAnsiChar dergleiche Warnhinweis, wie bei PChar, ich habe beides ausprobiert.
Forum: Sonstige Fragen zu Delphi
by kwhk,
12. Jul 2013
Die Optionen sind ja schnell so eingestellt. Offernbar gibt es keine warnungsfreie Codiermöglichkeit. Wie ruft man denn in den neueren Delphi-Versionen Aplication.MessageBox auf ?
Forum: Sonstige Fragen zu Delphi
by kwhk,
12. Jul 2013
Hallo, ich bin gerade dabei, einige SourceCodes, die noch für Delphi 3 entwickelt wurden, für Delphi 7 anzupassen. Dabei habe ich z.B. so etwas
Procedure xxx(sTx : AnsiString, sTit : AnsiString);
Begin
if Application.MessageBox
( PChar(sTx),
PChar(sTit),
MB_OK ) = 0 then Begin End;
End;
Wenn ich die Warnungen Unsicherer Typ nicht ausschalte, bekomme ich immer folgende...