喫茶XRAYトップページ


[13663] コンテキストメニュー コンポーネント、Delphi11.3対応について返信 削除
2023/8/13 (日) 01:17:00 kuze
Mr.XRAY様
いつもお世話になっております。
愛用している plContextMenu.pasが、Delphi10.4から、11.3に移行したとたんに
不安定となりました。(OS:Win11 64bit)
原因:Delphi11になってから型に対しての動作が厳密になったためのようです。
UINT型に、Integerの負の値が代入されるケースで範囲外エラーの例外が多発します。
また、64bitでコンパイルするとさらにエラーが多発しました。
コンパイルエラーは出ないのに、実行時エラーとなるのが厄介。
対策:Integerを、UINT、UINT_PTR、INT_PTRに適宜書きかえる。
特に64bit対応のため、SendToProcをWParam: UINT_PTR; LParam: INT_PTRとするのが、重要でした。
添付ファイルの"kuze"の部分を確認いただければと思います。

■添付ファイル plcontextmenu_ku.zip

[13667] Re:コンテキストメニュー コンポーネント、Delphi11.3対応について返信 削除
2023/8/23 (水) 17:43:55 Mr.XRAY
kuzeさん,どうもです.
情報サンクスです.
しかも,,修正まで.
> 原因:Delphi11になってから型に対しての動作が厳密になったためのようです。

私のコーディングが手抜きのせいもあるかも知れません.
以前は,64 ビットの確認もするようにしていましたが,
特にサンプルるプログラムはほとんど動作確認していません.
修正していただいたコード,そのまま利用させて頂きます.

※ だいあ゛留守にしてしまいました.ハハハッ.


[13671] Re2:コンテキストメニュー コンポーネント、Delphi11.3対応について返信 削除
2023/8/23 (水) 23:20:15 kuze
Mr.XRAY様
お役に立ててよかったです。
多くの、有用なコンポーネントを公開していただきありがとうございます。

INCM/CMT
Cyclamen v3.82