<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>De nuevo muchas gracias por tu ayuda.<br><br><div>Juan Perles</div><div>628.482.007</div>Enviado desde mi iPad</div><div><br>El 23/1/2015, a las 14:57, Victor Villalobos <<a href="mailto:revxfire@gmail.com">revxfire@gmail.com</a>> escribió:<br><br></div><blockquote type="cite"><div><div dir="ltr">Me alegra que te halla servido juan, <div><br></div><div>La conexion puedes abrirla al ejecturar tu programa en el evento OnShow de tu formulario principal, solo debes importar el DataModule normalmente como si fuese un formulario:</div><div><br></div><div>Uses</div><div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>DataModule1</div><div><br></div></blockquote>Y lo usas normalmente:</div><div><br></div><div>DataModule1.Connection.Connected := True;</div><div><br></div><div>Lo que si debes abrir solo cuando los necesites son tus dataset`s bien sea TTable o TQuery, o cualquiera que uses, yo lo hago de la siguiente forma, suponiendo que exista un formulario Clientes, haria esto:</div><div><br></div><div>Var</div><div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>FormClientes: TFormClientes;</div></blockquote>Begin</div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>Try<br></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>DataModule1.TableClientes.Open;</div></blockquote></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote style="margin:0 0 0 40px;border:none;padding:0px">FormClientes:= TFormClientes.Create(Self);<br>FormClientes.ShowModal();<br>DataModule1.TableClientes.Close;</blockquote></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px">Finally<br></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote style="margin:0 0 0 40px;border:none;padding:0px">FormClientes.Free;</blockquote></blockquote><div>End;</div><div><br></div><div><br></div><div>O puedes abrirlos en el evento OnShow del formulario que abriras, y cerrarlos en el OnClose del mismo, depende de la arquitectura de tu desarrollo.</div><div><br></div><div>Saludos.</div></div><div class="gmail_extra"><br><div class="gmail_quote">El 23 de enero de 2015, 4:11, Juan Perles <span dir="ltr"><<a href="mailto:perlesj@gmail.com" target="_blank">perlesj@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>Muchas gracias, he cambiado la instrucción al evento Show, como me dijo Víctor, y me funciona. No obstante Víctor me abre una perspectiva que desconocía y es el DataModule. Estoy estudiando esta posibilidad, sin embargo, a priori, no sé cuándo abrir la Base de Datos y por tanto poder establecer los link. </div><div>Pero ya les digo que voy a estudiar y aprender, muchas gracias. <span class=""><br><br><div>Juan Perles</div><div>628.482.007</div>Enviado desde mi iPad</span></div><div><br>El 22/1/2015, a las 14:52, Victor Villalobos <<a href="mailto:revxfire@gmail.com" target="_blank">revxfire@gmail.com</a>> escribió:<br><br></div><div><div class="h5"><blockquote type="cite"><div><div dir="ltr">1) Deberias crear un DataModule en vez de tener las connection en un Formulario e importar el modulo cuando sea necesario.<div>2) Estas importando correctamente el form? .</div><div>3) Trata de colocar el codigo de ejecucion de tu codigo en el evento "OnShow" de los formularios y no el "OnCreate", ya que muchos componentes que quieres inicializar no se han creado al momento en el que se ejecuta este evento.</div><div><br></div><div>Siguiendo estos pasos dudo que tengas algun problema, tambien recuerda que el datasource debe estar conectado a algun dataset, buen sea un Query o un Table y estos ultimos enlazados a un Connection en s propiedad "Connection".</div><div><br></div><div>Saludos y suerte, te recomiendo leer la documentacion de lazarus <a href="http://wiki.freepascal.org/Lazarus_Database_Tutorial/es" target="_blank">aca</a></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">El 22 de enero de 2015, 6:37, Juan Perles <span dir="ltr"><<a href="mailto:perlesj@gmail.com" target="_blank">perlesj@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">En un formulario llamado Principal tengo una tdbgrid.<br>
En otro formulario llamado Form3 tengo TSqlite3Dataset y el TDatasource. ( En esta unidad se trata todas las operaciones de la Base de Datos).<br>
En la definición de la TDbGrid no se ha podido especificar el DataSource. Con lo cual lo tengo que hacer en tiempo de ejecución.<br>
En el evento FormCreate de Principal, pongo la siguiente instrucción<br>
Tdbgrid1.datasource :=Form3.contactsdatasource.<br>
<br>
En tiempo de ejecución me da un error de<br>
El proyecto Pepe ha lanzado una excepción de la clase<br>
"External: EXC_BAD_ACCESS"<br>
Justamente en la línea que tengo la asignación del DataSource.<br>
¿Que estoy haciendo mal?<br>
Muchas gracias de antemano por vuestra ayuda.<br>
<span><font color="#888888">Juan Perles<br>
628.482.007<br>
Enviado desde mi iPad<br>
_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Victor Villalobos<div>Bahia Pirata</div><div>Inversiones Villalobos Balzan.<br>0412 6882141<br></div></div></div>
</div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Lazarus-es mailing list</span><br><span><a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a></span><br><span><a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a></span><br></div></blockquote></div></div></div><br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Victor Villalobos<div>Bahia Pirata</div><div>Inversiones Villalobos Balzan.<br>0412 6882141<br></div></div></div>
</div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Lazarus-es mailing list</span><br><span><a href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a></span><br><span><a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a></span><br></div></blockquote></body></html>