Abstract error!

Delphi

18/07/2005

alguem sabe me dizer que erro eh esse? ´abstract error´.
ele acontece no Oncreate do Form (MDI Child)

procedure TPrincipal.Livrosnoentregues1Click(Sender: TObject);
begin

if RelatMaterial_nao_entregue = nil then
    RelatMaterial_nao_entregue := TRelatMaterial_nao_entregue ( Application );
    RelatMaterial_nao_entregue.Show;

end;



Mahdak

Mahdak

Curtidas 0

Respostas

Massuda

Massuda

18/07/2005

Esta linha deve ter sido digitada errado...
RelatMaterial_nao_entregue := TRelatMaterial_nao_entregue ( Application );
...já que aparentemente TRelatMaterial_nao_entregue é um form e Application é um TApplication.

Quanto ao erro, provavelmente o construtor, o OnCreate ou o OnShow do form TRelatMaterial_nao_entregue tem alguma chamada a um método abtrato não sobrescrito. Poste o código aqui se precisar de mais ajuda.


GOSTEI 0
Mahdak

Mahdak

18/07/2005

Esta linha deve ter sido digitada errado...[quote:6a32ae2f28=´mahdak´] RelatMaterial_nao_entregue := TRelatMaterial_nao_entregue ( Application );
...já que aparentemente TRelatMaterial_nao_entregue é um form e Application é um TApplication.

Quanto ao erro, provavelmente o construtor, o OnCreate ou o OnShow do form TRelatMaterial_nao_entregue tem alguma chamada a um método abtrato não sobrescrito. Poste o código aqui se precisar de mais ajuda.[/quote:6a32ae2f28]

Amigo, quanto a questão do Tform / Tapplication, isso nunca me causou problemas por aqui. Um exemplo, nesse sistema mesmo todas as linhas que chamam os Forms (MDI Child) são escritas desse modo.

ja quanto os eventos OnCreate ou o OnShow do form TRelatMaterial_nao_entregue, eles estão vazios, ou seja, nao escrvi nda neles. o unico evento que está escrito é o OnClose...

será que nao eh o fato de o form TRelatMaterial_nao_entregue estar com o QuickReport? acho que nao neh...

procedure TRelatMaterial_nao_entregue.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    RelatMaterial_nao_entregue  := nil;
    Action                      := caFree;
end;



GOSTEI 0
Massuda

Massuda

18/07/2005

...quanto a questão do Tform / Tapplication, isso nunca me causou problemas por aqui...
Isso me parece muito estranho, pois conceitualmente está incorreto simplesmente pelo fato de um TForm e um TApplication não terem ´parentesco´ direto entre si. Usando um projeto novo, este código...
var
  Form: TForm;
begin
  Form := TForm(Application);
  Form.Show;
...
...gera um abstract error. Se mudar para...
var
  Form: TForm;
begin
  Form := Application as TForm;
  Form.Show;
...
...nem compila (tipos incompatíveis). Note que a primeira forma é um typecast ´forçado´ enquanto a segunda forma faz o compilador adicionar verificação de compatibilidade dos tipos.

Fora isso, não tenho mais nenhuma idéia do que possa ser.


GOSTEI 0
POSTAR