windows7で使用したShell Component Libraryのファイルアイコン


deldel  2010-10-19 00:50:15  No: 39376

XP D5 で Shell Component Library を使用しています。
このコンポは下記から入手できるものです。
http://www.bekkoame.ne.jp/~itotaka/

作成されたexeファイルを実行すると、
Win2KとXPでは問題なく ShellListView のファイルのアイコンが
表示されるのですが、windows7 では全く表示されません。
なお、ファイル名は表示され、様々な動作は問題ありません。

ソースコードを眺めて、アイコンの表示に関係する箇所らしきものは
見つけたのですが、それをどう変えればアイコンが表示されるように
なるのか、検討も付きません。

分かる方、おられないでしょうか・・・。
もしくは、似たコンポで、これと同様の機能(ほぼエクスプローラと同じ)を
持ったものを知っておられましたら、お教え下さい。


;)  2010-10-20 02:57:29  No: 39377

VirtualShellToolsってやつが使えます
http://www.mustangpeak.net/


deldel  2010-10-20 18:34:40  No: 39378

ありがとうございます。
早速サイトへ行って必要なファイルを落とし、インストールしてみましたが、
Mustangpeak Common Library のインストールで、
「致命的エラー: ファイルが見つかりません : 'Types'」
というエラーが出てだめでした・・・。
D5 用のインストールファイルのようなのですが・・・
権限が管理者では無いからなのかもしれません。


;)  2010-10-20 19:06:11  No: 39379

インストーラでコンポーネントインストールした方が、いいみたいです。。。
私は昔、D6パーソナルで使用していました。


deldel  2010-10-20 19:30:54  No: 39380

一応、以下の順でインストーラーを実行したのですが・・・
D6ではうまくいったのですね。D5はだめなのかな?
MustangPeakCommonLib.exe
EasyListviewSetup.exe
VirtualShellToolsSetup2.0.exe


;)  2010-10-22 00:17:41  No: 39381

VirtualTreeview、Theme Manager、TntWare Unicodeはインスコしたのでしょうか。


deldel  2010-10-22 01:44:24  No: 39382

これらも必要なんですね(^^;していませんでした。
Theme Managerはインストールできたのですが、
TntWare UnicodeがD5用がどうもないらしく、ここ
http://www.axolot.com/TNT/
の、TNTComponentsSetup.exeを代わりに実行してみた後に
VirtualTreeviewをインストールしてみると、
「エラー: 未定義の識別子 : 'UTF8Decode'」
とログに出てきます・・・。
もうちょっとやってみます。


あれ?  2010-10-22 02:09:31  No: 39383

D6 personal にVirtualShellToolsをインストールした場合は TntWare Unicodeは必要なかったですよ。
Mustangpeak Common Library のインストールでのエラーは解決したんですか?


;)  2010-10-22 02:14:49  No: 39384

>D6 personal にVirtualShellToolsをインストールした場合は TntWare Unicodeは必要なかったですよ。

ぢつは、うろ覚え。。。
"あれ?"さんの言うとおり、いらないかも?

VirtualShellToolsに必要なものがパッケージされたのを使用してみるとか。。。
「NEW:  Download the complete VirtualShellTools pack including」って書いてある所にあります。


Mr.XRAY  2010-10-22 04:05:42  No: 39385

こんちには,Mr.XRAYです.
詳しいことは,手順が書いてないのでわかりませんが,同じようにやってみました.

Windows XP(SP3) + Delphi 5(UP1) Pro 
伊藤さんのShell Component Library Delphi 5用  Version 0.96  2000/03/15版

http://www.bekkoame.ne.jp/~itotaka/    
    
コンパイル実行して作成したEXEを,Windows 7 U64 にコピーして実行
TShellTreeView,TShellFileList共にアイコンは表示されています.
Windwos XP(SP3)で実行する時と同じ動作をしています.
テストしたプロジェクトは,このコンポ以外は全く配置していません.

以上です.


Mr.XRAY  2010-10-22 04:06:43  No: 39386

スミマセン.リンクの後ろに空白が入ってしまいました.以下です.

http://www.bekkoame.ne.jp/~itotaka/


Mr.XRAY  2010-10-22 04:08:46  No: 39387

こちらの方がいいですね.

http://www.bekkoame.ne.jp/~itotaka/Program.html


けど  2010-10-22 07:58:28  No: 39388

横から済みません
私も ShellCtrl + D5 は長く使っていますので…
7 は持っていないのですが
左が XP 右 が Vista でやはりアイコンは表示されません
http://y.upup.be/AowoP8sMNg/


Mr.XRAY  2010-10-22 08:15:04  No: 39389

どうも,Mr.XRAYです.

>左が XP 右 が Vista でやはりアイコンは表示されません

えっ?
大変失礼しました.確認しました.確かに.
表示されるフォルダとされないフォルダがありますね.
う〜ん.何故でしょう.

残念,掲示板をご覧の皆さんを惑わせてしまいました.
十分な確認を怠りました.


Mr.XRAY  2010-10-22 08:25:13  No: 39390

少し追ってみました.結構面倒です.
Windows XP + Delphi 5で作成ということですので(でもEXEはネット越しで実行ですが).

項目識別子のアイコンの取得のルーチンで失敗しています.
Vista以降はWideStringかUnicodeの処理の関係なんでしょうか?
無理をすれば修正はできると思いますが.今度は,Windows XPで正常動作しなくなるでしょう.

>もしくは、似たコンポで、これと同様の機能(ほぼエクスプローラと同じ)を

を考えた方がいいようです.
既に皆さんのレスがありますね.

こんなのもあります.有料かな?
http://www.jam-software.com/shellbrowser_delphi/


Mr.XRAY  2010-10-22 08:32:58  No: 39391

またまた失礼しました.

http://www.jam-software.com/shellbrowser_delphi/

これはDelphi 5には対応していませんね.


deldel  2010-10-22 19:00:41  No: 39392

皆様、色々とありがとうございます。
まず、VirtualShellTools の方ですが、以下の順でインストールしたところ、
  ThemeManagerSetup.exe:正常終了
  TntWare Unicode:正常終了
  VirtualTreeviewSetup.exe:エラー(未定義の識別子:'UTF8Decode')
  MustangPeakCommonLib.exe:エラー(ファイルが見つかりません:'Types')
  EasyListviewSetup.exe:エラー(要求したパッケージ'MPCommonLibD5'が見つかりません)
  VirtualShellToolsSetup2.0.exe:正常終了??ログなし
となり、D5を起動すると、Theme ManagerとTntのコンポはインストールできているのですが、
他は全く・・・。

なお、TntWare Unicode はD5用が見つからなかったため、色々検索して
以下の2つのサイトから必要そうなファイルを無理やり作成して、
インストールしてみました(これが一番の原因のような気がしますが・・・)。
http://www.koders.com/delphi/fid28C8CC3E6F678ABFC8C27A384CC63A307D60FD84.aspx?s=unicode#L3
http://code.google.com/p/assistant32/source/detail?r=4

次に、Shell Component Library の方ですが、
OSの種類を調べてアイコンの取得処理を分岐するようにできれば
Vista,Windows7でも使用できると思うのですが、無理なのでしょうか?
と言いましても、どうすればいいのかは分かってないのですが(^^;
どの辺りを変更すればいいか教えてもらえないでしょうか?


けど  2010-10-23 06:43:28  No: 39393

私も以前色々調べましたが
該当部分はどう見ても D6 の TShellListView と同等のことをしているようにしか読めなくて
(関数 + 引数分けとかはしてますが)諦めて詳細リストのみで使っています

Shell Component Library には他にも
・光学ドライブ挿入時や壁紙変更時に選択やコラム幅がリセットされる
・大きなファイルのドラッグ&ドロップ時にプチフリ
の問題があり D6 用が出た頃(何年も前ですね)に作者さんに質問メールしたこともあったのですが
簡単には修正出来ないみたいな返事を頂いたことがあります
ソース配布ですからその他の細かい修正は自分で行っています

よくできたコンポーネントには違いないのですけどね


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

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






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