FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
acceder a una DB sin usar un componete visual
Hola, como en subject no es muy claro, voy a intentar explicar que quiero
queiro tener un procediminto que acceda a una DB pero no quiero pasarle un Tquery (componete) por parametro, osea quiero algo como: procedure aaa; var db:Tquery begin db= ???.crete; dd.sql.add() dd.open; end; por lo que he probado, con los componetes que heredan de Component, no se puede.. dado que el .create() me pide un owen (cosa que no tengo). lo que nesecito es aceder a base de datos sin usar dichos componetes. algo que sea puramente O.O.
__________________
Aprendamos a ser civilizados |
#2
|
||||
|
||||
Vas por buen camino. Que no te asuste lo del owner.
El "owner" de una componente es la componente que se encarga de su destrucción. Cuando una componente se destruye, justo antes de hacerlo repasa la lista de las componentes que "posee" y las destruye a su vez. Esto es lo que pasa normalmente con un formulario; al destruirse destruye todas las componentes que posea. Por lo común el formulario "posee" todas las componentes que insertas en él. Pero esto no implica que necesariamente deba ser así. Si, como en tu cas, deseas crear tú mismo las componentes, basta que les asignes nil como owner: Query := TQuery.Create(nil); significando que ninguna componente se encargará de destruirlo. Entonces la única diferencia es que debes ser tú mismo quien los destruya con Query.Free en algún momento, cuando termines de usarlo. // Saludos |
|
|
|