Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 27-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Joser.

Como comenta Casimiro, hay varios detalles que faltan conocer. Por tu código da la impresión que el TDataModule tiene acceso (incluye) a formusuarios, particularmente prefiero entablar la relación de modo inverso.

Quitando a formusuarios del comando uses de DataModule1, podrías hacer:
Código Delphi [-]
...
type
  Tformusuarios = class(TForm)
    BTCancelar: TButton;
    BTNuevo: TButton;
    procedure FormCreate(Sender: TObject);
    ... 
    procedure BTNuevoClick(Sender: TObject);
    procedure BTCancelarClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    FNotifyEvent: TNotifyEvent;
    procedure dsusuariosChange(Sender: TObject);
  public
  end;

var
  formusuarios: Tformusuarios;

implementation  

uses Unit2, // DataModule1
     DB;

procedure Tformusuarios.dsusuariosChange(Sender: TObject);
begin
  with DataModule1 do
  begin
    BTCancelar.Enabled := dsusuarios.State in[dsEdit, dsInsert];
    BTNuevo.Enabled    := dsusuarios.State = dsBrowse;
  end
end;

procedure Tformusuarios.FormCreate(Sender: TObject);
begin
  with DataModule1 do
  begin
    FNotifyEvent             := dsusuarios.OnStateChange; 
    dsusuarios.OnStateChange := dsusuariosChange;
    CLIENTusuarios.active    := True;  
    BTCancelar.Enabled       := dsusuarios.State in[dsEdit, dsInsert];
    BTNuevo.Enabled          := dsusuarios.State = dsBrowse;
  end
end;

...

procedure Tformusuarios.BTNuevoClick(Sender: TObject);
begin
  DataModule1.CLIENTusuarios.Insert;
end;

procedure Tformusuarios.BTCancelarClick(Sender: TObject);
begin
  DataModule1.CLIENTusuarios.Cancel;
end;

procedure Tformusuarios.FormClose(Sender: TObject;  var Action: TCloseAction);
begin
   DataModule1.dsusuarios.OnStateChange := FNotifyEvent;
end;

...

end.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
problemas con evento OnMousseDown maycampana Varios 5 10-05-2012 19:23:45
Manejo del Evento On State Change del Datasource Utilizando un Datamodulo hondaalberto Conexión con bases de datos 4 20-04-2012 09:01:04
problemas con dataset en datasource josro0ck Conexión con bases de datos 1 24-05-2011 01:01:01
Problemas con evento OnPaint martha1982js API de Windows 4 14-07-2006 17:02:02
Problemas con DataSource nesetru Conexión con bases de datos 2 16-07-2003 13:18:46


La franja horaria es GMT +2. Ahora son las 14:17:31.


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