ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
592
592
EMPFEHLEN
-
18.04.07 23:05 #1
- Registriert seit
- Jun 2005
- Ort
- Schweiz
- Beiträge
- 65
Hallo, falls jemand so lange gesucht hat wie ich:
Die Eigenschaft "Path" Eigenschaft der TShellTreeView-Komponente liefert bei einem CD-Zugriff falsche Resultate, sobald die Pfadtiefe mehr als 1 beträgt. Bei "X:\Test1\Test2\Test.test" gibt wird nur "X:\Test1" zurückgegeben.
Es scheint keine andere Möglichkeit zu geben, als den Bug mit einer eigenen Funktion mit "Parent" und "Item.Text" zu umgehen.
grz Sadi
PS: Der Bug wurde Borland(?) schon gemeldet.
edit: Borland -> Borland: Code GearGeändert von Sadi al Wadidrah (08.07.08 um 21:54 Uhr)
Lächle, morgen wird alles noch schlimmer ...
-
19.04.07 14:18 #2
- Registriert seit
- Jun 2005
- Ort
- Schweiz
- Beiträge
- 65
Hier ist eine Lösung zum Problem. Ein Workaround:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
function TMain_Form.GetSTWPath(Listenname: ShortString): String; var s: TShellFolder; isroot: boolean; sTemp: String; begin s := TShellTreeView(FindComponent(Listenname)).SelectedFolder; isroot := TShellTreeView( FindComponent(Listenname)).Selected.AbsoluteIndex = 0; if isroot or (s.PathName <> s.Parent.PathName) then begin result := s.PathName; end else begin // Flickschusterei für CD-ROMs result := s.DisplayName; while s.PathName = s.Parent.PathName do begin s := s.Parent; result := IncludeTrailingPathDelimiter(s.DisplayName) + result; end; sTemp := TShellTreeView(FindComponent(Listenname)).Path; result := LeftStr(sTemp, Pos('\', sTemp)) + result; end; end;
Sie wird so aufgerufen:
Code :1
string1 := GetSTWPath('ShellTreeView1');
hoffe, eine Hilfe gewesen zu sein.
grz SadiLächle, morgen wird alles noch schlimmer ...
Ähnliche Themen
-
[Allgemein] Bugreport Tool
Von goela im Forum C/C++Antworten: 4Letzter Beitrag: 11.01.03, 00:33 -
bugreport sinnvoll?
Von melmager im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 21.08.02, 20:32





Zitieren
Login





