2011-11-03 5 views
5

Windowsでは、Windowsエクスプローラにあり、ファイルまたはディレクトリを右クリックすると、Windowsのコンテキストメニューが表示され、このファイルまたはディレクトリに関するすべての操作が実行されます。ファイルのコンテキストダイアログ、デフォルトのアクションなどを開く

Brad Stowersは、自分のDelphiアプリケーション内でまったく同じことをしたItemProp.pasという単位を書きました。このユニットはDelphi 5でうまく動作しますが、D7以上では多くのエラーが発生します。

http://www.koders.com/delphi/fid7ABE724EBD5F2123FF824AFD45151D2A087C5E6C.aspx?s=network

大丈夫!私はそれを認めます!私は怠け者であり、更新されたユニットとこれでも1つでもグーグルしているが、少なくともユニットD7と互換性を持たせるために数時間働いているが、これに関して何か成功していないので、 。

私の質問は、このユニットがD7以上で更新されているか、またはこのコードが何をするユニットまたはコンポーネントが存在するかです。

ありがとうございます!私はメインファイル(ItemProp.pas)に

{$DEFINE DFS_DELPHI} 
{$DEFINE DFS_COMPILER_4_UP} 
{$DEFINE DFS_NO_COM_CLEANUP} 
{$DEFINE DFS_COMPILER_3_UP} 

を追加

私はすべてのことが必要とされている疑いがあるジョン

答えて

5

がDFS.inc

でのコンパイラのバージョンのディレクティブを更新することであり、それはDelphi 2007で正常にコンパイルされましたが、まだコードを実行しようとしていません。

+0

JEESH!私は、私が見つけた「D5のために追加された」グーグル・ファイルの1つでこれに似たものを見ましたが、提示されたコードにはdfs.incの削除が含まれていましたが、{$ I DFS.INC}は削除されました。コンパイル。私は先に考えていたはずですが、私はDelphiのプログラミングスキルを失っています。ありがとうございました! – John

+0

@ジョン:チェック・マークを見つけて、ジェリーの答えを受け入れたことを知りました。それはSOの仕事の一部です。あなたはそれを受け入れることとは別に、あなたもそれをアップヴォートすることができることを認識しましたか? –

+0

ありがとうMarjan。私は最後の夜を試みたが、それはより多くの「ポイント」か何かが必要だと言った。このAMによって私はそれをアップヴォーグすることができました。 – John

5

このユニットを翻訳する代わりに、JEDI JCL libraryを使用してJclShellユニットをチェックしてください。このユニットの内部には、ファイルのシェルコンテキストメニューを表示するDisplayContextMenuという機能があります。

function DisplayContextMenu(const Handle: HWND; const FileName: string; 
    Pos: TPoint): Boolean; 
+0

私はJEDIを探して、このようなものを持っていなければならないと考えました。あまりにも多くのコンポーネントで、私はいつものようにそれを逃した。みんな、ありがとう! – John

関連する問題