Um mal die Anmerkungen meiner Vorredner zu wiederholen: Lass dir mal bitte den Dateinamen ausgeben.
Ich habe deine
SchluesselA
-Funktion mal bei mir getestet und es hat funktioniert. Ich verwende auch Windows 7 und habe die Datei einmal als
c:\test.txt und als
c:\test\test.txt getestet. Das einzig interessante war, dass ich das erste Mal die Datei, welche ich per Notepad++ auf
c:\ angelegt hatte, nicht öffnen konnte; die Datei war auch im Explorer nicht sichtbar, aber im Öffnen-Dialog von Notepad++. Als ich dann die Datei im Unterverzeichnis angelegt und rüberkopiert habe, hat's dann aber funktioniert. Ich vermute mal schwer, dass mir hier der Virtual File Store zugeschlagen hat
Weitere mögliche Ursache: Dein Dateiname enthält Umlaute. Die LCL-Komponenten, zu denen auch
TOpenDialog
gehört, geben nun jedoch UTF-8 kodierte Strings zurück, während die
RTL Funktionen von Free Pascal mit der Kodierung des Systems (in Deutschland normalerweise CP-1252) arbeiten. Du solltest also einen Aufruf von
UTF8ToSys
oder
UTF8ToAnsi
vor den Aufruf von
SchluesselA
davorschalten. Dazu kannst du zum Beispiel deine
Textpfad
-Variable verwenden, welche du nicht mehr weiter zu verwenden scheinst.
Den ganzen letzten Absatz lege ich dir übrigens unabhängig vom eigentlichen Problem ans Herz, denn spätestens dann, wenn du eine Datei mit Umlauten oder ähnlichem auswählst wirds krachen.
Gruß,
Sven