Fórum Erro Herança Forms #381584
16/07/2010
0
Leandro Ferreira
Curtir tópico
+ 0Posts
16/07/2010
Eriley Barbosa
Gostei + 0
16/07/2010
Leandro Ferreira
Gostei + 0
16/07/2010
Emerson Nascimento
se você trabalhar com clientdatasets, coloque-os no form. nesse caso não precisa do dataset origem no formulário.
Gostei + 0
16/07/2010
Eriley Barbosa
Gostei + 0
16/07/2010
Leandro Ferreira
var t : Integer;
begin with Form do begin
if Acao = OC_OPEN then
for t := 0 To ComponentCount - 1 do
if (Components[t] is TDBGrid) then
(Components[t] as TDBGrid).DataSource.DataSet.Open
else if (Components[t] is TdxDBGrid) then
(Components[t] as TdxDBGrid).DataSource.DataSet.Open; if Acao = OC_CLOSE then
for t := 0 To ComponentCount - 1 do
if (Components[t] is TDBGrid) then
if (Components[t] as TDBGrid).DataSource.DataSet.Active then
(Components[t] as TDBGrid).DataSource.DataSet.Close
else if (Components[t] is TdxDBGrid) then
if (Components[t] as TdxDBGrid).DataSource.DataSet.Active then
(Components[t] as TdxDBGrid).DataSource.DataSet.Close;
end; end; procedure OpenCloseTable ( DataSet : TDataSet; Acao : Integer );
begin if Acao = OC_OPEN then
DataSet.Open; if Acao = OC_CLOSE then
DataSet.Close; end;
Gostei + 0
16/07/2010
Emerson Nascimento
por exemplo:
imagine que seu form pai aponte para um dataset num datamodule qualquer.
ao criar o form, você altera a instrução SQL desse dataset.
daí você abre um form herdado que também aponta para o mesmo dataset porém, no momento da criação do form herdado ele altera a instrução SQL.
nesse momento os campos esperados no form pai já foram alterados pelo form filho.
daí você volta para o form pai e ocorre o erro. você fecha o form pai, abre de novo - novamente ele altera a instrução SQL. agora o form filho é que vai gerar um erro.
creio que seja esse seu problema.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)