Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 27-03-2014
belpab belpab is offline
Miembro
 
Registrado: sep 2007
Posts: 47
Poder: 0
belpab Va por buen camino
Thumbs up ¿Cómo pasar un procedimiento por parámetros a otro?

Hola a todos.

Estoy intentando seguir los pasos que me dice Roman y no consigo pasar un procedimiento por parámetros a otro.

Os explico lo que quiero hacer y me comentáis si veis que estoy haciendo mal.

intento hacer un procedimiento que cree una botonera de TPV pero queme sirva para cualquier tabla.

Código Delphi [-]
procedure TForm1.cargararticulos(Pagina, filas, columnas: Integer;panel : tscrollbox; tabla : tclientdataset;proc : TProcDesconocido);

este procedimiento crea la botonera con el cliendataset que se le pasa ( parámetro “tabla”) en el tscrollbox que se le pasa ( parámetro “panel” ) y quiero asignarle al evento click de cada botón un procedimiento ( parámetro “proc”).

para ello me he creado un tipo “TProcDesconocido” así:

Código Delphi [-]
  TProcDesconocido = procedure (SENDER: TObject);

y me he definido el procedimiento “PonClickArticulos”

Código Delphi [-]
procedure PonClickArticulos(Sender: TObject);

que hace lo que yo quiero asignar al evento click y que paso al procedimiento “cargararticulos” en el parámetro “proc”.

Quedaría algo así
Código Delphi [-]
  

type
  TProcDesconocido = procedure (SENDER: TObject);

…
  private
    procedure PonClickArticulos(Sender: TObject);
    procedure CargarArticulos(Pagina, filas, columnas: Integer;
      panel : tscrollbox; tabla : tclientdataset;proc : TProcDesconocido );
…

procedure TForm1.PonClickArticulos(Sender: TObject);
beginEnd;

procedure TForm1.cargararticulos(Pagina, filas, columnas: Integer;panel : tscrollbox; tabla : tclientdataset;proc : TProcDesconocido);
var
  Boton: tspeedbutton;
begin
…
Boton:= TSpeedButton.Create(Self);
Boton.OnClick:= Proc;

end;

…

procedure TForm1.button1Click(Sender: TObject);
begin
…

  CargarArticulos(p,f,c,scrollBArticulos,TablaArticulos,PonClickArticulos);
end;


y al compilar me devuelve este error

[DCC Error] principal.pas(218): E2009 Incompatible types: 'method pointer and regular procedure'

alguien me puede decir que estoy haciendo mal...

Un saludo y gracias de antemano.

Última edición por Casimiro Notevi fecha: 27-03-2014 a las 18:10:00.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como enviar parametro fecha a rave Krmn Impresión 0 12-10-2011 00:45:10
Enviar a VK_F1 como parametro mRoman OOP 4 01-05-2010 17:44:56
Pasar Matriz como parametro a un procedimiento Caro Varios 2 28-07-2006 17:20:12
¿ Cómo se puede enviar un form a otro dispositivo de imagen o monitor ? dannytec Varios 3 09-04-2006 11:35:32
Ayuda, como llamar a un procedimiento desde otro procedimiento? Ariatna Varios 1 01-02-2005 04:05:35


La franja horaria es GMT +2. Ahora son las 16:07:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi