passagem de parâmetros entre forms
Boas,
O meu problema ‚ é o seguinte, estou gravando um registro no banco e dependendo do tipo
desse registro eu tenho que duplicá-lo, mudando o conteúdo de
alguns poucos campos (uma contra-partida).
Eu devo apresentar uma janela com todos os campos da janela de origem já com os campos que sofrem alteraçoes devidamente alterados. Eu estava querendo passar um dataset e um clientdataset como parâmetros para essa janela para manipular melhor esses campos, existe essa possibilidade?
Agradeço a atenção
O meu problema ‚ é o seguinte, estou gravando um registro no banco e dependendo do tipo
desse registro eu tenho que duplicá-lo, mudando o conteúdo de
alguns poucos campos (uma contra-partida).
Eu devo apresentar uma janela com todos os campos da janela de origem já com os campos que sofrem alteraçoes devidamente alterados. Eu estava querendo passar um dataset e um clientdataset como parâmetros para essa janela para manipular melhor esses campos, existe essa possibilidade?
Agradeço a atenção
_osw
Curtidas 0
Respostas
Eriley Barbosa
09/08/2010
Antes de fazer o insert você pode guardar os valores em variaveis globais e depois duplicar o valor destas variaveis e salvar no seu Dataset.
Ai é só mostrar a janela com o ultimo registro inserido.
Atenciosamente
Eriley
GOSTEI 0
Marco Salles
09/08/2010
Boas,
O meu problema ‚ é o seguinte, estou gravando um registro no banco e dependendo do tipo
desse registro eu tenho que duplicá-lo, mudando o conteúdo de
alguns poucos campos (uma contra-partida).
Eu devo apresentar uma janela com todos os campos da janela de origem já com os campos que sofrem alteraçoes devidamente alterados. Eu estava querendo passar um dataset e um clientdataset como parâmetros para essa janela para manipular melhor esses campos, existe essa possibilidade?
Agradeço a atenção
Maneira mais Orientada a Objetos é usar o Oncreate do Formulario
..
Pouco utilizado recurso pela comunidade mas muito útil na passagem de parametros
Exemplo da passagem de um DataSet;
O meu problema ‚ é o seguinte, estou gravando um registro no banco e dependendo do tipo
desse registro eu tenho que duplicá-lo, mudando o conteúdo de
alguns poucos campos (uma contra-partida).
Eu devo apresentar uma janela com todos os campos da janela de origem já com os campos que sofrem alteraçoes devidamente alterados. Eu estava querendo passar um dataset e um clientdataset como parâmetros para essa janela para manipular melhor esses campos, existe essa possibilidade?
Agradeço a atenção
private
{ Private declarations }
FCds:TClientDataSet;
public
{ Public declarations }
constructor create(AOwner:TComponent;pCds:TDataSet);reintroduce;
constructor TSeuFormulario.create(AOwner:TComponent;pCds:TDataSet); begin inherited Create(AOwner); FCds:=(Pcds as TClientDataSet); end;
var form:TForm; begin Form:=TSeFormulario.create(nil,ClientDataSet1); //Passando um ClientDataSet try form.ShowModal; finally form.Release; form:=nil; end;
GOSTEI 0
_osw
09/08/2010
obrigado pelo apoio.Vou testar as duas implementações.
Um abraço
Um abraço
GOSTEI 0
_osw
09/08/2010
No caso da passagem do ClientDataset, no form de contra-partida (aquele que vai receber o dataset) como será o tratamento desse clientdataset? Poderei usar o append, applyupdates, etc...
GOSTEI 0
Marco Salles
09/08/2010
No caso da passagem do ClientDataset, no form de contra-partida (aquele que vai receber o dataset) como será o tratamento desse clientdataset? Poderei usar o append, applyupdates, etc...
...
A regra é clara
FPai:= FFilho ( Pode se Atribuir um Objeto Filho qnd se espera um Objeto Pai )
FFilho:=FPai ( Errado ) Não se pode atribuir a um Objeto filho um Objeto Pai
Neste caso se Faz um Type Cast
No seu caso
FFilho:TClientDataSet >> Aquele que sera recebido
FPai : TDataSet >>> aquele que sera enviado
No Oncreate Vc Faz ..... Veja meu primeiro Post
FFilho:= (FPai as TClientDataSet) ;
Como FFilho foi definido como TClientDataSet , ele herdara as propriedades do TClientDataSet e poderá
trabalhar com ele normalmente
GOSTEI 0
_osw
09/08/2010
+ 1 vez
Obrigado pelo apoio !!
Obrigado pelo apoio !!
GOSTEI 0