A class named TfrxDMPPage already exists.
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?
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
Curtidas 0
Respostas
Marco Salles
26/06/2013
com vc esta criando este forms ???
GOSTEI 0
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
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
deste form neste pacote? È showmodal é Show ? Algo no Close : Action:=Cafree ?
[]sds
GOSTEI 0
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;
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
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 ???
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
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.
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
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
outras ideias para abrir o leque de opções e chegar ao MDC
GOSTEI 0
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
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
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
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
26/06/2013
O meu datamod... está na CreateForms.
seguirei suas instruções e postarei aqui para informar se resolveu
seguirei suas instruções e postarei aqui para informar se resolveu
GOSTEI 0
Marco Salles
26/06/2013
Blz tente se possivel não utilizar a variável Global Var
GOSTEI 0
José
26/06/2013
Olá Ricardo, poderia sinalizar se essa sua duvida já foi solucionada ?
GOSTEI 0
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
MUDEI ESSA ORDEM E FUNCIONOU
OBRIGADO A TODOS
GOSTEI 0
José
26/06/2013
Valeu amigo Ricardo, sendo assim estou concluindo o tópico.
GOSTEI 0