Einzelnen Beitrag anzeigen

Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

Explorer an einer bestimmten Stelle öffnen

  Alt 30. Sep 2008, 14:53
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?
  Mit Zitat antworten Zitat