![]() |
String zu PChar mach Mist - hängt zuviel Zeichen dran.
Moin,
Problem: Hab hier einen String, den ich aus einer .INI auslese:
Delphi-Quellcode:
db := ini.ReadString('GENERELL','datenbank','');
in dem String finde ich dann auch den gewünschten Inhalt: isdn jetzt wandle ich das um:
Delphi-Quellcode:
oder auch:
_MySQLdb := pansichar(db);
Delphi-Quellcode:
klappt soweit. Ich wundere mich das ich somit nicht auf die Datenbank komme.
_MySQLdb := pchar(db);
Ein Anzeigen im Memotext ergibt: Access denied for user 'isdn'@'%' to database 'isdn' Da wird an das Wort "isdn" noch irgendein Schwachfug drangehängt. Wie kann ich das verhindern? wenn ich hingegen den Wert direkt an PChar übergebe, klappt es:
Delphi-Quellcode:
Gruss
_MySQLdb : PChar = 'isdn';
EL |
Re: String zu PChar mach Mist - hängt zuviel Zeichen dran.
Delphi-Quellcode:
ein PChar muss zwingend ein #0 am schluss haben, ein string jedoch nicht. Durch Speicherverkleinerung, d.h. löschen von Buchstaben
var s: string;
begin s := 'elelelel'; delete(s,5,1); s[length(s)+1] := 'o'; {so etwas passiert bei dir} form1.caption := pchar(s)+' - '+pchar(copy(s,1,length(s))); innerhalb eines String, kann es sein, dass am schluss eben nicht #0 gesetzt wird sondern nur die Stringlänge angepasst wird. das Beispiel oben verdeutlich es. Eine Kopie des Strings zeigt es richtig an. Eigentlich sollte aber Delphi in der Lage sein bei einer String to PChar Umwandlung dem PChar am schluss nen #0 dranzuhängen. Wenn du da nicht irgend nen müll baust ;) |
Re: String zu PChar mach Mist - hängt zuviel Zeichen dran.
Zitat:
Zitat:
|
Re: String zu PChar mach Mist - hängt zuviel Zeichen dran.
Zitat:
Danke! Gruss EL |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 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 by Thomas Breitkreuz