Fórum Rotina para Limpar Formulário estilo fsMDIChild #254922
18/10/2004
0
Tenho uma rotina para limpar componentes de um determinado formulário. Ela funciona normalmente com aplicações SDI.
No sistema que estou desenvolvendo eu carrego meu formulário MDIChild em tempo de execução através do menu de um formulário principal. No formulário MDI eu chamo a seguinte rotina:
procedure LimparForm(frm: Tform);
var
x: integer;
begin
with frm do
begin
for x:=0 to (ControlCount-1) do
begin
{ TEdit, TDBLookupControl, TCustomCheckBox, ... [Colocar a classe ancestral]}
//TEdit
if (Controls[x] is TCustomEdit) then
(Controls[x] as TCustomEdit).Clear;
//TDBLookupControl
if (Controls[x] is TDBLookupComboBox) then
(Controls[x] as TDBLookupComboBox).ListField := ´´;
{ TListBox , TDBListBox}
if (Controls[x] is TCheckBox) then
(Controls[x] as TCheckBox).Checked := false;
end;
end;
end;
No entando quando chamo a rotina ....
LimparForm(frmFormularioPrincipal);
o parâmetro ´frmFormularioPrincipal ´é igual a nil, e então dá o seguinte erro ´EAccessViolation´.
Até agora não consegui achar onde estou errando. Como resolver?
Onde declarar a variável?
Se alguém por gentileza puder fazer o teste e me enviar a resposta fico muito grato.
mazeu :lol:
Mazeu
Curtir tópico
+ 0Posts
18/10/2004
Ipc$
LimparForm(Application.MainForm);
Gostei + 0
18/10/2004
Mazeu
A rotina precisa verificar o MDIChild Ativo e fazer a limpeza de seus componentes....
Essa rotina esta na mesma unit do MDIChild.
Gostei + 0
18/10/2004
Ipc$
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)