Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Dudas con Data Module (https://www.clubdelphi.com/foros/showthread.php?t=74256)

EgyEgy 08-06-2011 07:01:09

Dudas con Data Module
 
Espero saber explicar mi duda.

Tengo una aplicación en la cual utilizo un Data Module. Desde un form llama al DM (agregando la unidad en "Uses"), hasta ahí todo bien, no.

en el FORM hago la conexion, le asigno el nombre de la tabla y del datasource, es decir todo lo hago en tiempo de ejecución.

Ademas agregue un dbnavigator ¿correcto?

Bueno yo quiere usar el EVENTO "beforeinsert" del componente TADOTable que esta en el DM, ¿como lo declaro en este formulario que estoy usando?

De antemano gracias por la ayuda

Casimiro Notevi 08-06-2011 12:07:10

No he entendido bien lo que quieres hacer, pero si necesitas usar el evento de un componente que está en el datamodule, entonces creo que tendrás que hacerlo desde el datamodule.

ecfisa 08-06-2011 13:18:20

Hola.

Como te ha dicho Casimiro, lo mejor es declararlo en el DataModule. Para hacerlo en forma 'manual' desde determinada unidad sería:

Código Delphi [-]
type
  TForm1 = class(TForm)
  ...
  private
    procedure TuEventoBeforeInsert(DataSet: TDataSet);
  public
  end;
...
implementation

uses UnitDataModule;

procedure TForm1.TuEventoBeforeInsert(DataSet: TDataSet);
begin
  //...
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   DM.DataSet.BeforeInsert:= TuEventoBeforeInsert; // asignar el evento
end;
...

procedure TForm1.FormDestroy(Sender: TObject);
begin
  DM.DataSet.BeforeInsert:= nil; // desasignar
end;

Saludos.

Casimiro Notevi 08-06-2011 14:20:33

Claro, si no queda más remedio que hacerlo desde otra unit, entonces hay que crear un evento "propio", tal y como ha explicado magníficamente el amigo ecfisa.

EgyEgy 08-06-2011 15:25:28

¡¡¡Excelente!!!!
 
Gracias Casimiro y ecfisa.

Todo funciona a la perfección. Opte por crear un evento propio (de la forma sugerida por ecfisa) ya que ese DataSet cambia en sus propiedades de TableName dependiendo de la unidad (Form) que lo este usando.

Esto del Delphi es fantastico

Otra pregunta, tengo 3 pequeñas aplicaciones con Delphi 7 y con las cuales utilizo ADO.

Acabo de adquirir Delphi XE started (creo que asi se escribe), y ahi no viene la pestaña de ADO, ¿ESO QUIERE DECIR QUE YA NO FUNCIONA EN ESTA VERSION?, ¿SE PODRÁ INSTALAR?, ¿O CON CUAL ES SUSTITUIDA?

ecfisa 08-06-2011 15:56:33

Hola EgyEgy.

Primero que nada me alegro que hayas solucionado tu problema.

Lo que te pido por favor es que habras un nuevo tema con tu pregunta sobre ADO y XE con un título significativo, así servirá para que otros
usuarios puedan encontrarlo en las búsquedas que pudieran realizar.

Por otro lado lamento no poder responder tu consulta por que no tengo Delphi XE.

Saludos.

Casimiro Notevi 08-06-2011 17:11:21

Cita:

Empezado por ecfisa (Mensaje 402997)
Lo que te pido por favor es que habras un nuevo tema con tu pregunta

Tal y como te aconseja ecfisa, debes seguir las normas de clubdelphi, gracias por tu colaboración.


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

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