[BlueLeaf1336]> PROBLEMS> ResXplor>

ResXplor - OLE Drop

historyTOP

2004/05/18:作成。

overviewTOP

「ResXplor」は、Delphi 6 Personal のデモフォルダの中にある、ツリービューとリストビューのサンプルとしてのプログラムです、とソースコード中にコメントしてありますが、ちょっと楽しいわけで。オリジナルは、基本的なリソースにしか対応してませんが、ちょろちょろといじっていこうかと、イマサラ本当にイマサラ考えてます。すぐ飽きる可能性の方が高いですが。

スタート地点TOP

とりあえず、本質に無関係と思うコードやコンポーネントを削り、16進ダンプを受け持っていたコンポーネント(パレットにインストールせず実行時にCreateして使用されていた)を使用しないように変更し、TStringsにダンプするように書き換え、たのがこれです。(って、こんなことしてもいいのかどうかはおいとくことにします。)

20040518ResXplor.zip(229,905bytes)

見た目はほっとんど変わってません。部品が減ったぐらいのものです。ただし、16進ダンプをTStringsに文字列として書き出すようにしています。これにより.pasファイルが1つ減りました。

ただ、なぜかは分からないけど、「プロジェクト(P)」>「オプション(O)...」>「コンパイラ」>「実行時エラー」の「範囲チェック」「オーバーフローチェック」のチェックをはずして再構築しないと、実行時(リソースを読み込む時)に「Range Check Error」になってしまいます。はずさなくてもコンパイルはとおるんですが...。

これは、修正したからとかではなく、デモフォルダから連れてきたままの状態でもそうなってます。何かというと「.dcu / .dof / .res / .dsk / .cfg」を捨ててしまうので、何回やり直したことか。

それはそれとして、このプログラムをスタートとし、何か使い易いものを作りたいと思っています。世の中に腐るほど、すばらしいプログラムがあるのは分かった上でですが。

OLE Drop 参考サイトTOP

やっとサブタイトル「OLE Drop」の説明になるんですが、今までエクスプローラからのドラッグアンドドロップはやったことがあるんですが、その逆をしたことがありません。で、少し検索してみるとまさしく「OLE Drop」というものであるらしいことが分かりました。

こんな感じで。

とりあえず、これを最低限の部分だけ理解するためのテストをして、ResXplorに組み込もうとたくらんでいます。

イメージとしては、エクスプローラからリソースをもったファイル(.exe / .dll)をドラッグアンドドロップで受け取り、列挙する。で、列挙したリソースを逆にエクスプローラにドラッグアンドドロップで戻して書き出そうと、そう考えているわけです。

早い話、もともとの機能として、メニューから読込・保存を行っていたものをドラッグアンドドロップでやろうと、ただそれだけです。

と、決心したところで今日はここまで。

EOFTOP