![]() |
String wird bei konvertierung nicht korrekt verarbeitet
Hi,
Ich hab ein Programm, das Daten (Autostart-EInträge) in eine INI Datei sepichert. Über meine Funktion
Delphi-Quellcode:
Lade ich diese Dateien wieder ein. Ich muss den Wert über PChar zurücknehmen, weil die Funktion in einer DLL steckt, und ich keine Lust hab, die DLL mit ShareMem und CO umzubasteln. Also konvertiere ich die Daten lieber.
function _MyInIStrR(IniFile,IniSection,IniName:String):PChar;
var ini: TIniFile; begin ini:=TIniFile.Create(IniFile); try Result:=PChar(ini.ReadString(IniSection,IniName,'Error0')); finally ini.free; end; end; Hier nun eine INI Datei: Zitat:
Delphi-Quellcode:
Dann liefert mir die Funktion nur den String
vRegRootStr:=String(_MyInIStrR(F,'aae','Root'));
HKEY_LOCAL_MACHI zurück, das selbe passiert auch bei anderen INI Datein unter dem Value Punkt, wenn dieser zum Beispiel: Value=C:\Programme\Trillian\trillian.exe lautet, dann liefert mir meine Funktion C:\Programme\Trillian\trillian.e0 zurück. Woran liegt, das? Ich kenne mich mit der Konvertierung von PChar auf String und umgekehrt nit wirklich aus, hatte einfach mal rumgetestet und bin dann auf die Funktionen PChar() und String gestoßen, was bisher auch immer funktioniert hatte. Mache ich etwas falsch oder woran liegt es, ich bastel da nun schon seit 3 stunden und mehr rum, ich verzweifel bald. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 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