Gracias Joshy<br><br>Tengo otro problema<br><br>Ya habia probado en un proyecto de un solo form<br>poner un dbgrid un dbnavigator y un datasource con Tdbf<br><br>y setear todos los parametros y al activar el control DBgrid<br>
<br>que en modo edicion me apareciera en el grid la edicion de la tabla seteada en el Tdbf<br>ademas anduvo ok el Dbnavigator<br><br>Ahora en este proyecto un poco mas complejo <br><br>quise hacer lo mismo en el form de clientes que uso como una <br>
ventana modal llamandolo del principal y si pongo activo el grid <br>da el mismo error que tenia cuando el unit de clientes no estaba<br>agregado en el uses del form o de la unit principal.<br><br>Esta claro que al agregar los componentes al unit de este form clientes<br>
se agregaron en el uses lo necesario , db, dbf, DbCtrls, DBGrids, StdCtrls<br><br>sera necesario agregar algo mas al form principal o mejor dicho a la unidad principal ?<br><br>Bruno<br><br><div class="gmail_quote">El 20 de junio de 2009 12:45, JoshyFun <span dir="ltr"><<a href="mailto:joshyfun@gmail.com">joshyfun@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello Bruno,<br>
<br>
Saturday, June 20, 2009, 4:23:16 PM, you wrote:<br>
<br>
BL> Anduvo perfecto Joshy<br>
BL> Evidentemente esto me va a costar un poco<br>
<br>
Que va, es mucho más sencillo de lo que parece...<br>
<br>
BL> yo visual basic no use nunca<br>
BL> Vengo de Usar Minigui / OOHG<br>
<br>
Comprendo...<br>
<br>
BL> donde las cosas son bastante mas sencillas , la forma de<br>
BL> "instanciar" como decis vos es mucho mas sencillo , pero claro ,<br>
BL> probablemente codigo no reutilizable, o un form que no se puede<br>
BL> volver a usar desde otra parte. Entendi perfectamente , la duda<br>
BL> que me queda es , si es necesario nombrar la unidad que<br>
BL> corresponde al form , en USES del form madre, al instanciarlo de<br>
BL> esta forma<br>
<br>
Piensa en lo que tiene que hacer el compilador si las diferentes units<br>
fueran casas y cada una de las clases o funciones de una unit fueran<br>
los habitantes de esas casas. Suponiendo que la unit principal, se<br>
llame unit1 y los forms a usar frm1 y frm2, tu al compilador sólo le<br>
dices donde está unit1, este entra en casa y mira los habitantes de la<br>
misma y les preguntan quienes son. Si alguno no es de esa casa, le<br>
dice que es de por ejemplo frm1, entonces lee el mapa de la ciudad<br>
(uses) para ver donde está frm1, así que entra en frm1 y repite el<br>
mismo proceso. Al encontrarse con un habitante que no es de frm1<br>
pregunta de qué casa es y le dice que frm2, vuelve al uses y mira<br>
donde está frm2 y repetimos de nuevo.<br>
<br>
Que pasaría si al entrar en frm2 uno de los habitantes le dice que es<br>
de frm1 ? Que iría al uses y entraría en frm1 de nuevo que le llevaría<br>
a frm2 que a su vez le llevaría a frm1 y así hasta el infinito, de<br>
modo que los uses circulares (circular dependency) no están permitidos<br>
en pascal.<br>
<br>
Si fuera necesario usar algo de unit1 desde frm2 sólo lo podemos hacer<br>
desde la zona de "implementation" ya que a partir de ahí el compilador<br>
no hace la exploración de las "casas", resumiendo que algo así,<br>
estaría permitido:<br>
<br>
uses frm3;<br>
<br>
type x=class(tform)<br>
...<br>
...<br>
end<br>
<br>
implementation<br>
<br>
uses uni1;<br>
<br>
function Loquesea(): integer;<br>
begin<br>
  Result:=unit1.MiValor();<br>
end;<br>
<font color="#888888"><br>
--<br>
</font><div><div></div><div class="h5">Best regards,<br>
 JoshyFun<br>
<br>
<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>
</div></div></blockquote></div><br>