ShellComboBoxが・・・。


Delphiの初心者  2004-10-22 03:26:22  No: 11471

Delphi6Perlonilで、ShellComboBoxを使ったエクスプローラのようなアプリケーションを作っているのですが、どうもShellComboBoxが選択したフォルダとは違うフォルダを、Pathプロパティとして返すようです。そなたか解決策を教えてください。


はて?  2004-10-23 18:33:45  No: 11472

そんなことはないですけど...


Delphiの初心者  2004-10-24 01:37:43  No: 11473

あ、大体はうまくいくのですが、rootプロパティをrfDeskTopにしたとき、デスクトップ上のフォルダで誤動作が起きます。


はて?  2004-10-24 08:45:57  No: 11474

現象が再現できないですけど...


にしの  2004-10-24 19:52:07  No: 11475

もしかして、ユーザごとのフォルダと、All Usersのフォルダと混同していませんか?
デスクトップには、ユーザ毎に作られたフォルダ・ファイルも、All Usersにつくられたフォルダ・ファイルも一緒に表示されますよ。


Delphiの初心者  2004-10-25 00:03:44  No: 11476

にしのさん、どういうことですか?


ふぐちゃん  2004-10-25 00:14:25  No: 11477

> rootプロパティをrfDeskTopにしたとき
Rootプロパティは TRoot = type string; で、rfDesktop は TRootFolder ...ですよね?
そもそもコンパイルが通らないのではないでしょうか?


それが...  2004-10-25 00:43:29  No: 11478

>Rootプロパティは TRoot = type string; で、rfDesktop は TRootFolder ...ですよね?
確かに、
  ShellComboBox1.Root := rfDesktop;   // TRootFolder
と書くとコンパイルエラーになります。でも、
  ShellComboBox1.Root := 'rfDesktop'; // string
と書くとコンパイルが通って正常に機能するんですよ。
TShellComboBoxのヘルプやソースがないので、Rootの型は確認できませんが。


ふぐちゃん  2004-10-25 01:38:47  No: 11479

ソースコードを調べてみたところ、なるほど、Rootプロパティに'rfDesktop'が
設定されているとrfDesktopが使われる仕組みになっていました。


Delphiの初心者  2004-11-04 18:19:33  No: 11480

ためしにほかのパソコンで実験してみたところ、うまく動作しました。
ちなみに誤動作した環境は Wimdows Me なのですが、どうしてうまくいかないのでしょうか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加