![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Dónde tienes colocado el componente IBDatabase?
En el código que te puso Crandel, está usando DataModule a modo de ejemplo. En tu caso debes usar el módulo o forma que tiene el IBDatabase. Ahora, si tu IBDatabase está en la forma principal, entonces crea un DataModule y corta y pega el IBDatabase a ese DataModule, así podrás usar el IBDatabase sin necesidad de crear la forma principal. Checa bien el ejemplo de Crandel y verás que crea un DataModule antes de la creación de TFormPassword. Saludos... |
|
#2
|
||||
|
||||
|
Gracias, si tengo creado mi IBDatabase1 en mi form1 que es la principal e hice tal y como me indico Crandel en su ejemplo, es decir
begin Application.Initialize; Application.CreateForm(TDataModule, DataModule); Form2 := TForm2.Create; if Form2.ShowModal := mrOK then begin Form2.Free; Application.CreateForm(TForm1, Form1); Application.Run; end; end. pero lo que no entiendo es cuando me dices que corte y pegue mi IBDatabase y lo que pegue en mi DataModule???, en este codigo se creo el DataModule a donde pego mi IBDatabase lo quito de mi form1???, gracias |
|
#3
|
|||
|
|||
|
A lo que me refiero es que el componente IBDatabase lo quites de tu Form1 y lo pongas en DataModule... Puedes hacerlo cortando el componente (Edit|Cut) de Form1 y pegándolo (Edit|Paste) en DataModule. De esta forma todas las propiedades que modificaste en IBDatabase se conservan.
Espero que ahora si me de a entender... ![]() Saludos... |
|
#4
|
||||
|
||||
|
Upps pero no puedo cortar y pegar mi database por que en mi form1 hay objetos que necesitan estar conectados a mi database y cuando los pongo en true pues no me deja por que no tiene asignado database
|
|
#5
|
|||
|
|||
|
Me imagino que en tu Form1 tienes también componentes IBDataSet, DataSource y similares, no?
Si es así, selecciona todos esos componentes junto con el IBDatabase y córtalos y pégalos en el DataModule, así todos tus componentes de acceso a datos quedarán en el mismo lugar. Cuando necesites asígnar alguno de estos componentes a un control (por ejemplo un DBGrid), solo agrega en el uses de la unidad en cuestion el DataModule y listo, estarán disponibles para usarse. Saludos... |
|
#6
|
||||
|
||||
|
Gracias tu ayuda es valiosisima, estas en lo cierto ahora si me deja poner en true mis objetos y no me afecto mi combobox mi mi grid pero ahora el puñetero programa me saca error en mi unit 2 precisamente cuando el boton conectar entra en funcion
procedure TForm2.Button1Click(Sender: TObject); begin DataModule.IBDatabase1.Params.Values['USER_NAME'] := Edit1.Text; DataModule.IBDatabase1.Params.Values['PASSWORD'] := Edit2.Text; try DataModule.IBDatabase1.Open; except MessageDlg ('Error en el ingreso', mtwarning,[mbyes,mbno],0); if DataModule.IBDatabase1.Connected then begin ModalResult := mrOk; end; end; end. [Error] Unit2.pas(46): ';' expected but '.' found [Error] Unit2.pas(55): Declaration expected but end of file found [Fatal Error] mejorproycombo.dpr(9): Could not compile used unit 'Unit2.pas' |
|
#7
|
||||
|
||||
|
DataModule
Un DataModule es un contenedor (que te aparece como un formulario mas) que es invisible, por lo que unicamente aloja componentes no visibles.
Esta diseñado especialmente (pero no unicamente) para contener los controles acceso a base de datos, de esta forma contienes los controles y los puedes apuntar desde todas tus units. Esto trae varias ventajas, por ejemplo, quieres editar los datos de uno de tus clientes, que tienes seleccionados en el formulario principal pero a traves de un segundo formulario. Si los controles de los dos apuntan al mismo DataSource entonces éditas directamente el mismo cliente sin necesidad de cargar los datos o buscarlo en el segundo. El data module lo tenes File \ new \ Other Suerte
__________________
[Crandel] |
|
#8
|
||||
|
||||
|
un detalle el_barto, edita todos tus mensajes con etiquetas de codigo para que tu mensaje sea más claro.
Lee la guia de estilos.
__________________
[Crandel] |
|
#9
|
||||
|
||||
|
Parece que estaba atrasado con el hilo
Parece que ya conociste el DataModule antes que te conteste. Te recomendaria que ahora que tienes las ideas un poco más claras y tu proyecto es chico, comienza de nuevo proyecto en limpio. Debes tener basura por cortar y pegar. Suerte
__________________
[Crandel] |
|
#10
|
||||
|
||||
|
Sip, pues yo hice lo siguiente corte todos mis datasource transaction, database, dataset, e ibtable a un DataModule, y deje en mi form1 mi combobox y mi grid pero en la propiedad datasource no me deja seleccionar nada, entonces fui a mi unit 1 y en uses coloque DataModule pero sale error, hay algo mal en el procedimiento??? como puedo seleccionarle a mi grid el ibtable que necesita si este ibtable esta en un datamodule???
|
|
#11
|
||||
|
||||
|
Debo colocar DataModule donde esta definifo el form cierto
|
|
#12
|
||||
|
||||
|
si debes especificar el nombre de la unit en cada una de las unit que utilicen el DataModule
Suerte
__________________
[Crandel] |
![]() |
|
|
|