Что альтернатива к GWL_USERDATA для хранения объектного указателя?

import java.util.Scanner;


public class Mostrepeatednumber
{
    public static void main(String args[])
    {
        int most = 0;
        int temp=0;
        int count=0,tempcount;
        Scanner in=new Scanner(System.in);
        System.out.println("Enter any number");
        int n=in.nextInt();
        int arr[]=new int[n];
        System.out.print("Enter array value:");
        for(int i=0;i<=n-1;i++)
        {
            int n1=in.nextInt();
            arr[i]=n1;
        }
        //!!!!!!!! user input concept closed
        //logic can be started
        for(int j=0;j<=n-1;j++)
        {
        temp=arr[j];
        tempcount=0;
            for(int k=1;k<=n-1;k++)
                {
                if(temp==arr[k])
                    {
                        tempcount++;
                    }   
                        if(count<tempcount)
                            {
                                most=arr[k];
                                    count=tempcount;
                            }
                }

        }
        System.out.println(most);
    }

}
27
задан Emerick Rogul 28 December 2011 в 15:28
поделиться

2 ответа

SetWindowLongPtr был создан для замены SetWindowLong в этих экземплярах. Это - параметр LONG_PTR, позволяет Вам хранить указатель для 32-разрядных или 64-разрядных компиляций.

LONG_PTR SetWindowLongPtr(      
    HWND hWnd,
    int nIndex,
    LONG_PTR dwNewLong
);

Помнят, что константы изменились также, таким образом, использование теперь похоже:

SetWindowLongPtr(hWnd, GWLP_USERDATA, this);

Также не забывают, что теперь для получения указателя необходимо использовать GetWindowLongPtr:

LONG_PTR GetWindowLongPtr(      
    HWND hWnd,
    int nIndex
);

И использование был бы похож (снова, с измененными константами):

LONG_PTR lpUserData = GetWindowLongPtr(hWnd, GWLP_USERDATA);
MyObject* pMyObject = (MyObject*)lpUserData;
36
ответ дан Chris 28 November 2019 в 05:18
поделиться

Другая альтернатива является SetProp/RemoveProp (При разделении на подклассы окна, которое уже использует GWLP_USERDATA)

, Другая хорошая альтернатива является преобразованием стиля ATL WNDPROC для большего количества информации об этом, см.

9
ответ дан Anders 28 November 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: