Access violation
estou tentando executar esse metodo em uma classe e da erro de violação de acesso.
se alguem puder me ajudar eu agradeço.
se alguem puder me ajudar eu agradeço.
procedure TMainManut.CleanControls(AForm: TForm); var i: integer; begin for i:= 0 to AForm.ComponentCount - 1 do begin if AForm.Components[i] is TCustomEdit then (AForm.Components[i] as TCustomEdit).Clear; if AForm.Components[i] is TComboBox then (AForm.Components[i] as TComboBox).Text := ´´; if AForm.Components[i] is TMemo then (AForm.Components[i] as TMemo).Clear; end; end;
Fabiano Góes
Curtidas 0
Respostas
Massuda
04/01/2007
Nesse seu código, uma forma de dar AV é AForm ser nil ou um form que já foi destruído.
GOSTEI 0
Fabiano Góes
04/01/2007
massuda esta acontecendo o erro porque o form é criado através de um metodo que esta em uma classe:
se eu criar o form sem usar o metodo funciona
procedure TMain.OpenForm(AFormClass: TFormClass; AForm: TForm); begin AForm := AFormClass.Create(application); try AForm.ShowModal; finally AForm.Release; AForm.Free; end; end;
se eu criar o form sem usar o metodo funciona
GOSTEI 0
Massuda
04/01/2007
[quote:0d04b80463=´Fabiano Góes´]procedure TMain.OpenForm(AFormClass: TFormClass; AForm: TForm);
...[/quote:0d04b80463]Esse seu código cria, mostra e [b:0d04b80463]destrói[/b:0d04b80463] o form. Fora da procedure OpenForm, o valor de AForm é inválido.
...[/quote:0d04b80463]Esse seu código cria, mostra e [b:0d04b80463]destrói[/b:0d04b80463] o form. Fora da procedure OpenForm, o valor de AForm é inválido.
GOSTEI 0
Aroldo Zanela
04/01/2007
Colega,
Sua idéia e implementar isto que foi respondido pelo Massuda no [url=http://www.forumweb.com.br/foruns/index.php?showtopic=26341&hl=findclass]ForumWeb[/url]?
Sua idéia e implementar isto que foi respondido pelo Massuda no [url=http://www.forumweb.com.br/foruns/index.php?showtopic=26341&hl=findclass]ForumWeb[/url]?
GOSTEI 0