Fórum Procedures como parametro: TProcedure #335194

24/12/2006

0

Na VCL Win32 eu posso criar uma função com um parâmetro do tipo TProcedure, onde posso passar uma procedure como argumento da função. Alguém sabe como fazer isso na VCL .NET ou em .NET?


Marcosalex

Marcosalex

Responder

Posts

26/12/2006

Massuda

Em .NET não tem o conceito de ´ponteiro para função/procedure´, o que existe é ´delegação´ ([i:7e1a3bc5e3]delegate[/i:7e1a3bc5e3]). Um exemplo, em C#...
public delegate int FuncaoDeComparar(object x, object y);

public int Comparar(object x, object y) { ... }

public void Ordenar() {
 
  FuncaoDeComparar comparador = new FuncaoDeComparar(Comparar);
  // comparador pode ser usado aqui ou passado para outra função
 
  if (comparador(x, y) == 0) {
    // x e y são iguais
  }
  else {
    // x e y são diferentes
  }  
}
...infelizmente, não tenho idéia de como fica isso em Delphi.NET.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar