Pergunta

Estou tentando compilar no VS2003 isso Rastreamento de mouse projeto que foi feito em C# 2005.Eu consertei tudo, exceto por uma linha:

    proc = HookCallback;

Isso dá o erroMétodo 'MouseTracking.MouseTracker.HookCallback(int, System.IntPtr, System.IntPtr)' referenciado sem parênteses

Se eu adicionar parênteses ao HookCallback, receboNenhuma sobrecarga para o método 'HookCallback' leva argumentos '0'

Tentei adicionar os argumentos da função como tipos, nomes de variáveis ​​e ambos, mas nenhum parece funcionar.

Aqui estão as definições relevantes:

    private LowLevelMouseProc proc;
    private delegate IntPtr LowLevelMouseProc (int nCode, IntPtr wParam, IntPtr lParam);
    private          IntPtr HookCallback      (int nCode, IntPtr wParam, IntPtr lParam) {…}

Alguma idéia de como compilar isso?Eu realmente gostaria de adicionar e ajustar algumas coisas.

Muito obrigado.

Foi útil?

Solução

Parece que está usando HookCallback como delegado.Em C# 1 você precisa criar delegados usando um construtor delegado, você não pode simplesmente usar o nome do método (como você pode em C# 2+).

Dê uma olhada no tipo de proc, e use isso para criar um novo delegado, assim:

proc = new LowLevelMouseProc(HookCallBack);

Outras dicas

prot = new LowLevelMouseProc(HookCallBack);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top