Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-03-2009
fcios fcios is offline
Miembro
 
Registrado: jul 2003
Posts: 108
Poder: 21
fcios Va por buen camino
puntero a un procedure en un procedure como parametro

Hola tengo un procedimiento en una unit que no es desde donde llamaré al procedimiento

Código Delphi [-]
procedure miprocedure(Puntero: pointer);
begin
  // hago un monton de cosas
// y ahora si le mande algo a Puntero llamo al procedimiento o funcion que apunte pero como ?

if Puntero <> nil then puntero

end;
  
//--

y en la unit ppal tengo definido el procedimiento ppal y al que quiero mandar

procedure TEstadisticasF.Estadistica1BBClick(Sender: TObject);
begin
  miprocedure(@Fin); // no anda , como es la forma correcta de pasarlo ?
end;

procedure TEstadisticasF.Fin;
begin
  ShowMessage('ANDA !');
end;
Utilizo Delphi7
muchas gracias
Responder Con Cita
  #2  
Antiguo 13-03-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, puedes hacer algo asi

Código Delphi [-]
type
     TProcedure = procedure;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure Call(P : TProcedure);
begin
     p;
end;

procedure Test;
begin
     ShowMessage('test');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
     Call(Test);
end;

end.

predefiniendo el tipo. En la ayuda de delphi (procedure pointers) veras varios ejemplos. Un saludo.
Responder Con Cita
  #3  
Antiguo 14-03-2009
fcios fcios is offline
Miembro
 
Registrado: jul 2003
Posts: 108
Poder: 21
fcios Va por buen camino
Smile

Muchas gracias Coso,

al final me quedo ok de la siguiente manera (y necesité más parametros)

Código PHP:
type
  TProcedure2
procedure(WSTExcelWorksheet; var nLinea1:integer; var nLineaDesdeDatos1,nUltimaCol1:byte);


procedure miprocedure(PunteroaUnProcedureTProcedure2);
var 
WSTExcelWorksheetnLinea:integer
   
nLineaDesdeDatos,nUltimaCol:byte
begin
  
// hago un monton de cosas
// y ahora si le mande algo a PunteroaUnProcedure llamo al procedimiento que apunte

  
if @PunteroaUnProcedure <>  nil then
    PunteroaUnProcedure
(ws,nLinea,nLineaDesdeDatos,nUltimaCol);
end;
  
//--
en la unit ppal tengo

miprocedure
(Fin); // el llamado ppal

// el procedure a ejecutar
procedure Fin(WSTExcelWorksheet; var nLinea:integer; var nLineaDesdeDatos,nUltimaCol:byte);
var 
n:Word;
begin
   ShowMessage
('ANDA !');
end
Responder Con Cita
Respuesta



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
tipo de dato para pasar parametro a un store procedure Bracus SQL 6 25-03-2008 13:38:13
Problema con un parámetro de salida en un Stored Procedure taote Firebird e Interbase 5 09-06-2004 20:41:38
Parametro Tipo BIGINT Stored Procedure hibero Firebird e Interbase 5 13-04-2004 19:49:31
duda con parametro en procedure ronson Firebird e Interbase 6 02-03-2004 15:01:01
Pasar Tabla Como Parametro en Stored Procedure elpinjum Firebird e Interbase 3 17-10-2003 10:37:41


La franja horaria es GMT +2. Ahora son las 22:09:00.


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