ご教授お願いします。環境はWindowsXP Delphi 6 Personalです。
標準でついているコンポーネントShellTreeViewのメモリーリークのバグ対策を下記のサイトで読みました。
http://fishers.homeunix.net/pc/delphi/treeview.html
私の環境では、対象ファイルはたぶんこれだと思いますが・・・。
\install\program files\borland\delphi6\Demos\ShellControls\ShellCtrls.pasにあります。
内容はShellCtrls.pasを修正して、インストールし直すことだと思いますが。
標準添付のコンポーネントを修正して更新インストールするなど、恐れ多くて、躊躇しています。
そこで標準コンポーネントの修正、インストールで更新する手順方法を教えて頂きたいのですが、
(1)ファイルを修正後、「コンポーネント」メニューの「コンポーネントのインストール」でShellCtrls.pasを
指定して、通常と同じように「OK」でインストールするのでしょうか?
(2)または事前に、削除などなにか準備しておく必要が有るのでしょうか?
その他、アドバイスがありましたら、よろしくお願いします。
ドコを変えるかにもよるけど、単にファイルの書き換えだけで大丈夫じゃないの?
書き換えの副作用でも心配なら、自分のプロジェクトのフォルダにShellCtrls.pasをコピーして、それを書き換えればいいよ。
おそらく
\install\program files\borland\delphi6\Demos\ShellControls\ShellCtrls.pas
は検索パスに入っていないので直接修正しても意味がありません
(再構築の対象にならない)
[CTRL]+クリックでソースが見つからないはず
\install\program files\borland\delphi6\Demos\ShellControls\
を検索パスにいれるか、
修正後のShellCtrls.pasを検索パスのどこか(lib等)にコピーするか、
修正後、作成した .dcu を lib にコピーして下さい。
検索パスにソースをコピーしてしまうと再構築の際 ShellControls.pas を毎回再構築しますので、再構築に時間がかかってしまいます
自分のプロジェクトのフォルダにShellCtrls.pasをコピーして、それを書き換えてみたら、確かに2個のメモリーリークが無くなったね。
出来たShellCtrls.dcuを Libフォルダに上書きコピーしておけばイイよ。
そうねさん、KHE00221さん、試してみたら さん早速教えて頂きありがとうございました。
あばりこの辺の理屈が判らないですが要約すると
(1)他のフォルダにソースファイルをコピーする。そして修正する。
(2)そのフォルダに検索バスを通す。
(3)コンポーネントメニューのコンポーネントのインストールを実行する。
(4)出来たdcuファイルをLibに上書きコピーする。
これでよろしいんでしょうか。
すみません、なんども、よろしくお願いします。
ここに
http://qc.borland.com/wc/qcmain.aspx?d=8322
(1)ファイルをコピーする「他のフォルダ」は、自分のプロジェクトソースのフォルダ。
(2)検索バス(←バスを通してどうするの^^パス、とツッコミ)を通す必要なし。
(3)コンポーネントの再インストール必要なし。
マッコさん、"理屈の判らない"貴兄にお約束のツッコミ さん
ありがとうございます。
判りました。
ありがとうございました。
ツイート | ![]() |