Hallo
DP!
Ich durchsuche meine Festplatte nach z.B. Powerp*int Präsentationen und liste die Ergebnis in einer Listbox auf. Ein Beispieleintrag sieht z.B. so aus:
C:\Präsentationen\
Mittels Doppelklick auf einen Eintrag in der Listbox soll ein Explorerfenster an der richtigen Stelle aufgeben. Das wollte ich so lösen:
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
////
//// Ordner Öffnen
////
procedure ShowFolder(strFolder: string);
begin
ShellExecute(Application.Handle, PChar('open'), PChar(strFolder), nil, nil, SW_SHOWNORMAL);
end;
procedure TFmain.ListBox1DblClick(Sender: TObject);
var s:string;
begin
s := listbox1.Items[listbox1.ItemIndex];
Showfolder(s);
end;
Das klappt nicht, es wird kein Explorer angezeigt. Sehr seltsam. Ich habe es dann dann manuell getestet:
Showfolder('C:\Präsentationen\');
Funktioniert.
Showfolder('C:\Präsentationen');
Funktioniert ebenfalls. Nur
Delphi-Quellcode:
s := listbox1.Items[listbox1.ItemIndex];
Showfolder(s);
Klappt nicht obwohl in Variable s genau 'C:\Präsentationen\' drinsteht.
Ich hab sogar versucht den letzten Slash per copy zu entfernen damit s = 'C:\Präsentationen' beinhaltet. Auch das funktioniert nicht. Warum nur?