Como quot;matarquot;variáveis TStringField ??

Delphi

16/07/2004

Colegas..

Estou criando os TFields de um ClientDataSet em RUN TIME, assim :

s_field_RE21000_C_COD_REL := TStringField.Create(self);
with s_field_RE21000_C_COD_REL do
begin
FieldName := ´C_COD_REL´;
Index := v_index;
FieldKind := fkData;
Size := 15;
Visible := true;
SetFieldType(ftString);
DataSet := s_client_RE21000_campos;
end;

quando saio do form faço isso :

s_field_RE21000_C_COD_REL.Free;

quando entro de novo no form, dá erro de acesso, e debugando, depois do free não liberar a variável..

Como fazer ?

Agradeço a atenção de todos

Cabelo


Cabelo

Cabelo

Curtidas 0

Respostas

Beppe

Beppe

16/07/2004

Se vc cria os fields no create do form, destrua-os no OnDestroy; se vc cria no show, destrua-os no OnHide.


GOSTEI 0
Cabelo

Cabelo

16/07/2004

Beppe..

Eu crio os Campos no Create..

E libero no Close..

Não seria a mesma coisa??

Cabelo


GOSTEI 0
Beppe

Beppe

16/07/2004

Destroy!

Um form pode ser fechado várias vezes, mas criado uma só, perce a diferença em relação ao Destroy?


GOSTEI 0
Cabelo

Cabelo

16/07/2004

Eu não postei totalmente meu problema pq ficaria muito extenso, mas na veradde acontece o seguinte :

Eu crio um componente TRelatorios, que abre a possibilidade ao usuário de gerar relatórios em RUN TIME, armazenando estas informações em um banco de dados..

Eu tenho uma tela em que apresento as informações de bordas, top, left, entre outras, através do tipo de relatório..

São 2 os tipos..

Favoritos e Padrões..

Os relatórios padrões não podem ser de maneira nenhuma alterados, mas tenho a necessidade de visualizar os campos do relatório nesta tela, pois um usuário com senha de Supervisor, pode acessar esta tela visualizar o relatório padrão e inserir componentes no relatório, somente inserir..

Já os outros usuários só irão visualizar este Rel na tela, mas podem acessar e alterar os relatórios Favoritos..

mas são duas tabelas diferentes, mas que dependendo da opção escolhida (Padrão ou Favoritos) eu irei formatar o grid, e o ClientDataSet..

no evento OnCloseUp de um LookUp que mostra úma lista dos relatórios..

aí está o problema..

quando selecionar o rel padrão, devo mostrar os campos da tabela padrão..

quando selecionar o rel favoritos, devo mostrar os campos da tabela favoritos..

Aí é que está o problema..

O Free no campo C_COD_FAV não funciona..

Vc saberia o pq? E como faço pra liberar ele??

agradeço muito sua atenção..

Cabelo


GOSTEI 0
Cabelo

Cabelo

16/07/2004

sobe..


GOSTEI 0
POSTAR