Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Creacion de ABM por parametros (https://www.clubdelphi.com/foros/showthread.php?t=5252)

FNADALO 14-11-2003 14:49:35

Creacion de ABM por parametros
 
Hola fieles compañeros.

haber si me explico, tengo un formulario Main, con un menu
con sus Actions Etc... tengo un DataModule e un formulario
que quiero que me sirva de ABM desde el main quiero llamar
al formulario; en el DataModule tengo un AdoConnection, un
AdoQuery y un DataSource mi dilema es el siguiente para que estos objetos me sirvan de ABM queria pasar desde la llamada del
main al formulario la tabla, como debo hacerlo??? al DataModulo
al String como parametro y como lo haria??? o como parametro al formulario.

Espero haberme explicado Gracias.

Descendents 14-11-2003 15:11:18

Perdona pero no te entiendo

Tu quieres acceder a los objetos del datamodule desde otro form?

jachguate 14-11-2003 16:40:12

Perdon por mi ignorancia, pero que es un abm?

:confused: :confused:

delphi.com.ar 14-11-2003 17:04:24

ABM se le suelen llamar a las pantallas de "Altas, Bajas y Modificaciones" de datos.

La respuesta a la pregunta inicial, es debes desarrollarlo. Cuando empecé a programar en Delphi, hice unos componentes que muestran un ABM con solo definir sus campos y tabla de origen, con la aparición de la herencia visual, esto quedó medio obsoleto (a mi entender), porque cree una formulario base TCustomABM que tiene toda la lógica necesaria para solo tener que definir los campos, y es mucho mas flexible porque puedo sobrescribir métodos para que funcione en forma diferente a lo "clásico".

Son solo ideas...
Saludos!

jachguate 16-11-2003 23:39:23

bien.

No discutiré si es la mejor forma de hacerlo o no, pero creo que podes definir una propiedad en el formulario, bien un DataSet o un DataSource (depende de tu conveniencia). Y el el método que asigne la propiedad hacer el "trabajo sucio" de identificar los campos y crear controles para ellos.

Algo como:

Código:

Type
  TFormaABM = class(TForm)
  private
  ...
    FDataSet : TDataSet;
  ...
    Procedure SetDataSet(Value : TDataSet);
  public
    Property DataSet : TDataSet read FDataSet write SetDataSet;
  end;

Implementation
...
  Procedure TFormaABM.SetDataSEt(Value : TDataSet);
 
  Begin
    if assigned(FDataSet) Then
      BorrarControlesViejos;
    FDataSet := Value;
    CrearControlesNuevos;
    FDataSet.FreeNotification(Self);
  End;

Donde BorrarControlesViejos tendrá la lógica para eliminar los controles asociados al dataSet y CrearControlesNuevos tendrá la lógica para escanear la propiedad Fields del DataSet y crear los controles apropiados para cada uno.

En fin... es solo una idea.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 04:45:34.

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