Ver Mensaje Individual
  #1  
Antiguo 14-10-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Reputación: 24
Giniromero Va por buen camino
DataSource en distinto Form que la tabla

Hola,

Tengo una aplicación en delphi 6, con Interbase 7 y dialecto 3.

Tengo todos mis DataSet en un DataModule.

El caso es que, del mainForm de mi programa, pulsando un botón, se muestra un nuevo form, form2, que me gestiona una tabla, esto es, nuevos registros, cancelar, aceptar modificaciones....

La tabla en cuestión está en el DataModule del que hablé antes, con todas las demás tablas.

Al tratar de asignarle el siguiente código, me daba error si lo ponía directamente en el onStateChange, del DataSource de dicha tabla, estado este dentro del DModule:

procedure TFrmDModule.SrcDataSet1StateChange(Sender: TObject);
begin
if (DataSet1.State = dsInsert) or (DataSet1.State =dsEdit) then begin
FrmForm2.BitAceptar.Enabled := True;
FrmForm2.BitCancelar.Enabled := True;
FrmForm2.BitNew.Enabled := False;
FrmForm2.BitBorrar.Enabled := False;
FrmForm2.BitSalir.Enabled := False;
end
else begin
FrmForm2.BitAceptar.Enabled := False;
FrmForm2.BitCancelar.Enabled := False;
FrmForm2.BitNew.Enabled := True;
FrmForm2.BitBorrar.Enabled := True;
FrmForm2.BitSalir.Enabled := True;

end;

end;

Pero no me da problemas si dicho datasource lo pongo en el Form2, en vez de en el DModule, con este mismo código en OnStateChange.

procedure TFrmForm2.SrcDataSet1StateChange(Sender: TObject);
begin
if (FrmDModule.DataSet1.State = dsInsert) or (FrmDModule.DataSet1.State =dsEdit) then begin
BitAceptar.Enabled := True;
BitCancelar.Enabled := True;
BitNew.Enabled := False;
BitBorrar.Enabled := False;
BitSalir.Enabled := False;
end
else begin
BitAceptar.Enabled := False;
BitCancelar.Enabled := False;
BitNew.Enabled := True;
BitBorrar.Enabled := True;
BitSalir.Enabled := True;

end;

end;


Mis dudas son,
1)¿por que me da error si pongo el datasource en el datamodule, junto a su tabla correspondiente?

2) poniendo así el código, voy a necesitar poner otro datasource en otra parte del programa, refiriendose a esta misma tabla, ¿puedo hacerlo?

Muchas gracias por todo de antemano,

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita