1

function InvalidateRect(hWnd: HWND; const lpRect: TRect; bErase: BOOL): BOOL;

function InvalidateRect(hWnd: HWND; lpRect: PRect; bErase: BOOL): BOOL;

XE2 の Windows ユニットには、オーバーロードされた定義が 2 つあります。場合によっては、後者の宣言のみが存在する以前の Delphi バージョンよりも特別な処理が必要になります。

問題は、どの Delphi バージョンが最初にこのオーバーロードを導入したかです。

4

1 に答える 1

3

次のInvalidateRect関数のオーバーロード:

function InvalidateRect(hWnd: HWND; const lpRect: TRect; bErase: BOOL): BOOL;

が Delphi 2009 で導入されました。ただし、次の(正しい)プロトタイプを使用して関数を呼び出す(オーバーロード)場合は、条件付き関数呼び出しを行う必要はありません。

function InvalidateRect(hWnd: HWND; lpRect: PRect; bErase: BOOL): BOOL;

これは、Delphi のすべてのバージョンに存在する必要があります (少なくとも、Windows 2k のサポートが最低限必要なバージョン)。

于 2013-07-04T19:00:59.300 に答える