PDA

Ver la Versión Completa : como hacer para q una tabla aparezca en varias ventanas a la vez!!


_CALI
27-11-2009, 22:44:21
:)Hola Amigos,
mas que nada quisiera hacerles una consulta:
estoy desarollando una aplicacion MDI Cliente servidor
esto quiere decir que puedo acceder a un DataSet desde un formulario que se abre varias veces a la vez, al principio coloque el DataSet en un DataModule, pero me di cuenta despues de que al interactuar por el formulario que abro abro varias veces la informacion del dataset se actualizaba en todos los formularios, cosa que para mi entorno estaba mal porque se supone que cada formulario debe cambiar datos distintos emulando que son varios usuarios a la vez, este problema simplemente lo arregle colocando el dataset en el mismo formulario y no el modulo de datos y asi cada formulario trabaja con datos independientes (concurrencia).

Ahora: cuando abria por ejm, TRES instancias del formulario y hacia cambios en los formularios dos y tres esos se reflejaban en el form1, esto lo solucione creando
***********Formulario Padre *************
{en este formulario esta mi DataSet}
{para llamar al formulario hijo}

Form1.LanzarFormulario(Table1);

************ Formulario Hijo************

Public
{declaraciones publicas}
DataSet: TDataSet;
procedure LanzarFormulario(DS: TDataSet);
begin
Form1 := TForm1.Create(Application);
DataSet := DS;
end;

var..
begin
{ahora tengo referencia del set de datos del formulario que lo llamo}
end.

//******bueno la idea esa ************
Espero me hayan entendido, quisiera que me dijieran como se hace normalmente para este tipo de ocasiones

de antemano Gracias Chocheras

Saludos

Aleca
28-11-2009, 12:29:38
No entiendo q queres lograr :confused:

_CALI
28-11-2009, 19:01:46
ok;
1.- lo que se trata es de como se haria para abrir varios formularios ,mmm digamos de ingreso de clientes y que estos a su ves cada uno reflejen cambios independientemente de sus hermanos abiertos

2.- en el formulario de clientes tengo relacionado otros formularios como la ubicacion geografica donde viven(otra tabla mas) y como se haria; si digamos tengo varios formularios de clientes abiertos obtener la informacion de la ubicaion geografica (tambien independiente de sus hermanos abiertos)


Saludos.

Aleca
28-11-2009, 22:15:18
ok;
1.- lo que se trata es de como se haria para abrir varios formularios ,mmm digamos de ingreso de clientes y que estos a su ves cada uno reflejen cambios independientemente de sus hermanos abiertos

Saludos.
algo asi:

procedure AbroForm;
var
nForm: TFormClientes;
begin
nForm := TFormClientes.Create(Application);
nForm.Show;
....
end;


dentro del form de Clientes podes preguntarte si ya existen los otros formularios q necesitas y si no los creas:


...

procedure TFormClientes.FormCreate(Sender: TOBject);
begin
if Application.FindComponent('Form1') = nil then
Form1 := TForm1.Create(Application);
Form1.Show;
....
end;
...