オブジェクト指向は戦場では必要無し その2
■ このスレッドは過去ログ倉庫に格納されています
0898デフォルトの名無しさん
NGNGメソッドは関数ポインタの他にオブジェクトインスタンスアドレスも渡さなければならない
最近作られたAPIの多くはハンドル作成時にコールバック時に渡すアドレスを渡せるけど
肝心のWinProcには無い。(SetWindowsLongで埋めようと思えば埋めれrけどね)
これを解決するのにDelphiでは インスタンスの作成時に、短いコードを動的に作って
その関数内部でインスタンスアドレスを作り出している
Win16の頃は、DLLは共有されていた。 このDLLからコールバックを受ける為には
関数ポインタのほかにセグメントレジスタが必要になる そこでやっぱり短いコードを
動的に作ってこの関数を経由して呼び出す事で解決していた。この技術をマイクロソフトはサンクと呼んでいた
■ このスレッドは過去ログ倉庫に格納されています