名前 題名 ▼ Kuzeさん > Mr.XRAYさん > > plContextMenuを利用させていただいておりますが、 > Win10環境で、isoファイル上でContextMenuを実行すると、 > エラーが発生するため、調べてみましたのでご報告いたします。 > > Line 548 付近ですが、InfoをクリアしないままGetMenuItemInfoを > 使用しており、エラーが発生するようです。 > この現象は、isoファイルの場合、画像付きの「マウント」という > メニューが最後に処理されるため、Info.fType = MFT_BITMAPになっているケースです。 > 通常(Info.fType = MFT_MFT_STRING)は、クリアしなくても、エラーにならないようです。 > > 修正前 > //最後が区切り文字だったら削除 > ItemCount := GetMenuItemCount(Handle); > GetMenuItemInfo(Handle, ItemCount - 1, True, Info); > > 修正後 > //最後が区切り文字だったら削除 > ItemCount := GetMenuItemCount(Handle); > FillChar(VerbName, SizeOf(VerbName), #0); // ★追加 > Info.cbSize := SizeOf(Info); // ★追加 > Info.fMask := MIIM_SUBMENU or MIIM_TYPE; // ★追加 > info.dwTypeData := VerbName; // ★追加 > Info.cch := Length(VerbName); // ★追加 > GetMenuItemInfo(Handle, ItemCount - 1, True, Info); > > としたほうが良さそうです。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link