A class named TfrxDMPPage already exists.

Delphi

26/06/2013

Bom dia,

quando eu rodo o meu sistema (XE2), ao abrir o modulo de vendas aparece o seguinte erro:

A class named TfrxDMPPage already exists.

como posso resolver isso?
Ricardo Lima

Ricardo Lima

Curtidas 0

Respostas

Marco Salles

Marco Salles

26/06/2013

com vc esta criando este forms ???

GOSTEI 0
Ricardo Lima

Ricardo Lima

26/06/2013

ná verdade era um pacote e quando eu utilizo o form pelo pacote funciona, quando eu o chamo na aplicação finalizada da essa mensagem
GOSTEI 0
Marco Salles

Marco Salles

26/06/2013

mas como vc esta chamando ? De mais detalhes ? Vc tem .pas deste Bpl ? Como é feito a instanciação e a destruição
deste form neste pacote? È showmodal é Show ? Algo no Close : Action:=Cafree ?

[]sds
GOSTEI 0
Ricardo Lima

Ricardo Lima

26/06/2013

a chamada acontece assim: (existe um vendas.pas e um vendas.bpl)
VAR
H: HMODULE;
Pform: TFormClass;
form: TForm;
begin // local do pacote atualmente e o mesmo da aplicação, DEVOMOS MUDAR APRA SYSTEM32
if FileExists('vendas.bpl') then
begin
H := LoadPackage('vendas.bpl');
if H > 0 then
begin
Pform := TFormClass(GetClass('TFrmVenda'));
if Assigned(Pform) then
begin
form := Pform.Create(nil);
form.ShowModal;
FreeAndNil(form);
UnloadPackage(H);
end
else
ShowMessage('Erro ao carregar a Classe');
end
else
ShowMessage('Erro ao carregar o pacote');
end
else
begin
MessageDlg('Para utilizar este modulo e necessario aquisição, ' + #13 +
' Entre em contato com a CPD SOLUÇÕES EM INFORMÁTICA'
+ #13 +'TELEFONES 8510-2618 OU 3375-3089' , mtWarning, [mbOK], 0);
end;

end;
GOSTEI 0
Marco Salles

Marco Salles

26/06/2013

Boa noite


Não estou vc dizer que chama a aplicação finalizada e quando utilizo o form pelo pacote funciona
???

o que vc quer dizer com isto ???

GOSTEI 0
Ricardo Lima

Ricardo Lima

26/06/2013

No project manager, eu tenho a aplicação principal, vendas.exe, vendas.bpl.
quando eu utilizo o vendas.exe, tudo funciona perfeitamente. Então eu coloco o bpl que foi gerado no endereço descrito no codigo, então aciono a aplicação principal e acontece o erro ao finalizar a venda
A tela de venda abre, escolho o produto/qtd, quando clico em finalizar a venda para escolher o cliente acontece o erro.
GOSTEI 0
Marco Salles

Marco Salles

26/06/2013

Desculpe , eu não estou conseguindo visualizar o processo para opinar . Pediria que os amigos do forum opinassem com
outras ideias para abrir o leque de opções e chegar ao MDC


GOSTEI 0
Ricardo Lima

Ricardo Lima

26/06/2013

Eu exclui o pacote e comecei a trabalhar sem pacotes...
está funcionando perfeitamente, vou tentar recriar outro pacote e adicionar o form para ver se volta ao normal...

Obrigado pela tentativa de ajuda
GOSTEI 0
Marco Salles

Marco Salles

26/06/2013

No eu entendimento o que esta ocorrendo é a instanciação de uma classe com o mesmo nome ( isto parece óbvio pelo teor)
da exceção levantada , so não é óbvio o porque que isto ocorre... Há muitas coisa envolvidas , por exemplo se
este dataModulo esta na secção AvalaibleForms ou CreateForms , se vc esta utilizando uma instanciação utilizando a
a variável Global Var do DataModulo

eu sugiro fazer um teste criando na Mão este dataModulo, , sem utilizar a variável Global

var
SeuDataModule: TfrxDMPPage;


[]sds
GOSTEI 0
Ricardo Lima

Ricardo Lima

26/06/2013

O meu datamod... está na CreateForms.
seguirei suas instruções e postarei aqui para informar se resolveu
GOSTEI 0
Marco Salles

Marco Salles

26/06/2013

Blz tente se possivel não utilizar a variável Global Var
GOSTEI 0
José

José

26/06/2013

Olá Ricardo, poderia sinalizar se essa sua duvida já foi solucionada ?
GOSTEI 0
Ricardo Lima

Ricardo Lima

26/06/2013

EU MODIFIQUEI A ORDEM DE CRIAÇÃO DO MEUS FORMULARIO, ESTAVA CRIANDO O DATAMODULE PRIMEIRO E DEPOIS O FORMULARIO PRINCIPAL.

MUDEI ESSA ORDEM E FUNCIONOU

OBRIGADO A TODOS
GOSTEI 0
José

José

26/06/2013

Valeu amigo Ricardo, sendo assim estou concluindo o tópico.
GOSTEI 0
POSTAR