Ir para conteúdo
Fórum Script Brasil
  • 0

Ponteiro De Funcao


Guest - Marco -

Pergunta

Guest - Marco -

galera, alguém sabe como implementar em delphi um ponteiro para uma função?

quero poder ligar a procedure da classe a um método externo

assim, chamando a procedure na classe, é executado a procedure lá fora na interface...

não quero dar uses para fazer isso

alguém tem idéia de como fazer?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

eu quero fazer igual ao método sort de uma TList

você pode liga-lo a outra procedure, com sua implementacao

dai quando mandares ordenar, ele chama o seu código e não o que foi programado pelo delphi...

também não sei ao certo como implementar

na classe fiz

registro = procedure(aPeca : TPeca; aLado : Byte);

e na interface com o usuário atribui a essa variavel public registro a minha funcao externa

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Marco -

pode ser que não seja do interesse de mt gente aqui no fórum...

mas acabei achando a solução!

declarar uma classe do tipo procedimento

TRefreshMethod = procedure(aLista : TList; aLado : Byte) of Object;

declarar a classe com uma variavel do tipo criado acima

TClasse = class

private

Refresh : TRefreshMethod;

...

public

constructor newClass(aRefreshMethod : TRefreshMethod);

...

end;

atribuir a essa variavel Refresh (pode ser no construtor da classe) o método externo, criando a ligação entre os métodos

constructor TClasse.newClass(aRefreshMethod : TRefreshMethod);

begin

Refresh := aRefreshMethod;

end;

Pronto! agora quando você chamar dentro da classe a variavel Refresh, estará chamando na verdade aquele método lá fora, com parâmetros e tudo mais!!!

exemplo (dentro da classe):

Refresh(Lista, 100);

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...