Autor Beitrag
danielsun
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 27.03.03 12:10 
Hola,

warum fragt das Object ShellTreeView bei Delphi6 neu unter Samples immer beim Starten oder Refreshen der App das Floppy ab und geht in das Ursprungs Root zurück, obwohl ich es auf Procedure Change(Sender) gesagt haben, das der
ausblenden Quelltext
1:
ShellTreeView1.Path := FileListBox1.Directory					

sein soll?

Beispiel:
Ein Programm, das in 2 Formular Modi zu betrachten ist, auf dem Ein ShellTreeView und ein FileListbox liegen: Im FileListBox wird eine Datei ausgewählt, anschließend Form Refresh, weil Formular wechselt in andern Modus, -> ShellTreeView wieder im rfDesktop oder sonstiger eingestelltes Verzeichnis? Soll aber gleiches Folder anzeigen wie FileListBox1?

Bug? Oder kann ich das (unter CreateFormProcedure)oder irgendwo ausschalten; zumind. im Objectinspector nichts gefunden! Wie gut verstehen sich TFileListBox(3.1) und TShellTreeView im Zusammenspiel als kleiner 'Explorer'? Möchte/ Kann kein ShellListView nutzen.

Sanfte Grüsse
Danielsun :?:

Moderiert von user profile iconTino: Code-Tags hinzugefügt.
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Do 27.03.03 12:19 
Hi,

ich denke mal das liegt daran das halt immer nachgeprüft wird ob vor dem Diskettenlaufwerk ein kleines "+" angezeigt werden muß ;)

Er testet halt ob das Diskettenlaufwerk unterverzeichnisse hat, und greift dafür darauf zu.

Au'revoir,
Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!
danielsun Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 27.03.03 13:26 
Das habe ich mir fast gedacht,

aber mal ehrlich, wenn du den explorer oder einen beliebigen manager in deinem system lädst, fragen die auch nicht als erstes das diskettenlaufwerk ab, erst wenn man darauf klickt.
2. Punkte:

a) Wie kann man diese Abfrage unterbinden? Oder hörst du diese Geräusche auch, wenn du deinen Arbeitsplatz öffnest?Programm benötigt auch viel mehr Ladezeit, wegen ShellTreeView Aufbau(und dann Sekundenlanges Warten, ob doch evtl. was im Floppy drinsteckt oder nicht?) kann / darf eigentlich nicht sein.

b) Wie kann ich dem ShellTreeView- Object sagen, dass es im vorher ausgewähltem Verzeichnis, nach einem Formular Refresh- bleiben soll?

ShellTreeView1.Path etc... funkt. nicht richtig die Zuweisung zum FileListBox1.Directory;?
Bitte mal selber ausprobieren, diese 2Komponenten auf einem Formular, und ein wennig verrückt klicken und schon bald habt ihr die System Verletzungen, sowohl unter Win2K, als auch Win9x.???
Thx dan :( :(
madigeMade
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Do 27.03.03 19:10 
Hi danielsun!
Ich weiß gar nicht wo dein Prob ist... bei mir funzt des ohne Probs...
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  timer1.interval:=1;
  if shelltreeview1.path[2]=':' then    
  filelistbox1.Directory:=shelltreeview1.Path;
  form1.Refresh;
end;


Is nicht schön aber funzt... ohne zugriffsverletzung

_________________
Ich kam, sah und schrieb ein Prog.
danielsun Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 29.03.03 14:48 
Ciao madigeMade,
Und du bist sicher, dass dein ShellTreeView- Objekt beim Ausführen nicht nach deinem Floppy fragt?
Die Synchronisation zwischen TreeView u. ListBox habe ich auch(sogar ohne Timer einfach auf
ausblenden Quelltext
1:
2:
3:
4:
ShellTreeView.OnChange(Sender) 
begin 
  FileListBox1.Directroy := ShellTreeView1.Path;
end;

wobei ich deinen Code mal ausprobieren werde (path[2] = ':'bitte mal erklären warum [2])
aber wie gesagt, wenn ich das Formular verändere, und die darauf aufgeführten Objekte neu anordnen lasse dann geht mein blödes ShellTree View in den Ursprungs-Root zurück, obwohl aber das FileListBox1 noch im Verzeichnis ist, vor der neuen Anpassung der Elemente auf dem Formular und auch neu angepasst wurde.:-[
Vielleicht erhalte ich wegen der zu einfachen Synchronisation dieser Elemente häufig beim Wechseln der Folders, während auf ein Selected.Item des Filelistbox1 zugegriffen wird, Zugriffsverletzungen?
Yo jetzt aber genug. THX dan
P.S.: Eigentlich läuft meine App stabil, aber nur mit der DirectoryOutline, ist aber auch ok.
madigeMade
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Sa 29.03.03 20:50 
Hi danielsun!
Wieso path[2] weil du mit dieser shellbox auch auf den Arbeitsplatz oder auf den Desktop zurückgreifen kann... wenn aber steht path[2] dann ändert er es nur wenn ein Verzeichnis z.B. c: angesprochen wird... der checkt damit des : ... bei mir laüft es ohne Probs...

Gruß de Made

_________________
Ich kam, sah und schrieb ein Prog.
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Sa 29.03.03 21:32 
danielsun hat folgendes geschrieben:

a) Wie kann man diese Abfrage unterbinden? Oder hörst du diese Geräusche auch, wenn du deinen Arbeitsplatz öffnest?Programm benötigt auch viel mehr Ladezeit, wegen ShellTreeView Aufbau(und dann Sekundenlanges Warten, ob doch evtl. was im Floppy drinsteckt oder nicht?) kann / darf eigentlich nicht sein.
Ich denke das geht wohl nicht mit dieser Komponent, oder gibt es irgend eine Eigenschaft DisableCheckFloppy (habe diese Komponente nicht)?
Weil es diese Eigenschaft nicht gibt, musst du wohl dir eine eigene Komponente basteln und dann kannst du das auch unterbinden, denn ich habe es auch geschafft!

Gruß wulfskin!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.