Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 30-01-2009
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Hasta, incluso funciona si se define dentro de la propia clase la rutina:

Código Delphi [-]
unit UMiClase;

interface

uses Dialogs;

type

  // Mi tipo de evento
  TCambiaCadenaEvent = procedure(Cadena: string) of object;

  TMiClase = class
    private
      FCadena: string;
      // nuestro campo de tipo evento
      FOnCambiaCadenaEvent: TCambiaCadenaEvent;

      // métodos privados
      procedure SetCadena(Value: string);
      procedure SetOnCambiaCadenaEvent(Value: TCambiaCadenaEvent);

      procedure CambiaCadenaRespuesta(Cadena: string);
    public
      constructor Create;
      destructor Destroy; override;
      property Cadena: string read FCadena write SetCadena;
      property OnCambiaCadenaEvent: TCambiaCadenaEvent read FOnCambiaCadenaEvent write SetOnCambiaCadenaEvent;
   end;



implementation

{ TMiClase }

procedure TMiClase.CambiaCadenaRespuesta(Cadena: string);
begin
  ShowMessage(Cadena);
end;

constructor TMiClase.Create;
begin
  inherited Create;
  FOnCambiaCadenaEvent := CambiaCadenaRespuesta;
end;

destructor TMiClase.Destroy;
begin
  FOnCambiaCadenaEvent := nil;
  inherited Destroy;
end;

procedure TMiClase.SetCadena(Value: string);
begin
  if FCadena <> Value
     then begin
            if Assigned(FOnCambiaCadenaEvent)
               then FOnCambiaCadenaEvent(Value);
          end;
end;

procedure TMiClase.SetOnCambiaCadenaEvent(Value: TCambiaCadenaEvent);
begin
  FOnCambiaCadenaEvent := Value;
end;

end.

Y ahora en el create del form no hacemos la asignación:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  FMiClase := TMiClase.Create;
  //FMiClase.OnCambiaCadenaEvent := MiRutina;
end;

Y si no le comentamos la acción notarás que realiza la rutina que defines en tu form.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Quiero crear mi propio Script! PiornoCKA&G Varios 4 02-01-2007 17:39:19
Crear mi propio tipo de archivo. JuanErasmo C++ Builder 3 18-08-2005 14:53:05
Crear tabla con mi propio tipo.. dmariscal Conexión con bases de datos 6 20-04-2004 19:05:37
Crear mi propio export filter rfernandez Impresión 1 05-02-2004 15:52:52
Ayuda para crear mi propio IDE antonio Varios 2 03-06-2003 13:07:32


La franja horaria es GMT +2. Ahora son las 11:15:46.


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