|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
janiltojack Novato
Registrado: Quarta-Feira, 24 de Mai de 2017 Mensagens: 8
|
Enviada: Qua Mai 24, 2017 2:01 am Assunto: Erro ao compliar aplicação |
|
|
Boa noite pessoal, estou passando por um pessimo momente em que criei uma programa que esta em 85% da produção e quando eu tentei proteger a aplicação com o componente EvAppProtect nao consigo mais compilar.
Resumindo: adiciono o componente e da os seguintes erros :
Código: | Checking project dependencies...
Compiling Adonai.dproj (Debug configuration)
[DCC Error] Ulogin.pas(20): E2003 Undeclared identifier: 'TEvAppProtect'
[DCC Error] Ulogin.pas(20): E2217 Published field 'EvAppProtect1' not a class or interface type
[DCC Fatal Error] Ulogin.pas(37): F2063 Could not compile used unit 'Umenu.pas'
Failed
Elapsed time: 00:00:00.4 |
quando removo o componente a aplicação compila normal
quando declaro na uses
Código: | uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg, XPMan, Mask, DBCtrls, DB, ADODB, EAppProt, EvAppProtect1;
|
fica com seguinte erro :
Código: | Checking project dependencies...
Compiling Adonai.dproj (Debug configuration)
[DCC Fatal Error] Ulogin.pas(7): F1026 File not found: 'EvAppProtect1.dcu'
Failed
Elapsed time: 00:00:00.2 |
agora segue o codigo completo ?
Código: | unit Ulogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg, XPMan, Mask, DBCtrls, DB, ADODB, EAppProt, EvAppProtect1;
type
TFrmLogin = class(TForm)
GrpBxLogin: TGroupBox;
Cadeado: TImage;
Image1: TImage;
BtnLogin: TButton;
BtnSair: TButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
EvAppProtect1: TEvAppProtect;
procedure BtnSairClick(Sender: TObject);
procedure BtnLoginClick(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmLogin: TFrmLogin;
implementation
uses Unit3, Umenu;
{$R *.dfm}
procedure TFrmLogin.BtnSairClick(Sender: TObject);
begin
Application.Terminate;
end;
procedure TFrmLogin.BtnLoginClick(Sender: TObject);
begin
//inicio do login
If (DM.TabAcesso.Locate('USUARIO',Edit1.Text,[])) and (DM.TabAcesso.Locate('SENHA',Edit2.Text,[])) then
Begin
FrmMenu.ShowModal;
FrmLogin.Hide;
end
else
If (Edit1.Text ='') and (Edit2.Text= '') then
ShowMessage('Preencha os campos Login e Senha')
else
MessageDlg('Login e senha são invalidos', mtError, [mbOk], 0);
end;
//Fim do codigo login
procedure TFrmLogin.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then // Define o comando enter
BtnLoginClick(Sender); // Atribui a função do boatao entrar ao enter
end;
procedure TFrmLogin.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then SelectNext(ActiveControl,True,True); // define tab on press enter para navegar entre dbedit´s
end;
end. |
Agraadeço se me ajudarem |
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qua Mai 24, 2017 10:44 am Assunto: |
|
|
Tenho o demo deste pacote de componentes e funciona normalmente.
Analisando sua declaração da Uses, EvAppProtect1 não é necessário declarar, a biblioteca deste componente é esta EAppProt.
Sua uses deve ficar assim:
Código: | uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg, XPMan, Mask, DBCtrls, DB, ADODB, EAppProt; |
Faça essa modificação e veja se compila normalmente sua aplicação. _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
|
wjuniordias Profissional
Registrado: Sexta-Feira, 16 de Março de 2012 Mensagens: 667
|
Enviada: Qui Mai 25, 2017 11:29 am Assunto: Re: Erro ao compliar aplicação |
|
|
Deu algum erro na instalação do mesmo? Talvez pode ser também que não foi inserido no "Library Path" do Delphi. _________________ "O sábio nunca diz tudo o que pensa, mas pensa sempre tudo o que diz." (Aristóteles) |
|
Voltar ao Topo |
|
|
janiltojack Novato
Registrado: Quarta-Feira, 24 de Mai de 2017 Mensagens: 8
|
Enviada: Sex Mai 26, 2017 12:21 am Assunto: |
|
|
natanbh1 escreveu: | Tenho o demo deste pacote de componentes e funciona normalmente.
Analisando sua declaração da Uses, EvAppProtect1 não é necessário declarar, a biblioteca deste componente é esta EAppProt.
Sua uses deve ficar assim:
Código: | uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg, XPMan, Mask, DBCtrls, DB, ADODB, EAppProt; |
Faça essa modificação e veja se compila normalmente sua aplicação. |
Rapaz quando eu tiro essa declaração ele da 3 erros
Código: | [DCC Error] Ulogin.pas(20): E2003 Undeclared identifier: 'TEvAppProtect'
[DCC Error] Ulogin.pas(20): E2217 Published field 'EvAppProtect1' not a class or interface type
[DCC Fatal Error] Adonai.dpr(16): F2063 Could not compile used unit 'Ulogin.pas' |
a aponta para
Código: | type
TFrmLogin = class(TForm)
GrpBxLogin: TGroupBox;
Cadeado: TImage;
Image1: TImage;
BtnLogin: TButton;
BtnSair: TButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
EvAppProtect1: TEvAppProtect; <<<============<<
procedure BtnSairClick(Sender: TObject);
procedure BtnLoginClick(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end; | [/u][/i] |
|
Voltar ao Topo |
|
|
janiltojack Novato
Registrado: Quarta-Feira, 24 de Mai de 2017 Mensagens: 8
|
Enviada: Sex Mai 26, 2017 12:24 am Assunto: Re: Erro ao compliar aplicação |
|
|
wjuniordias escreveu: | Deu algum erro na instalação do mesmo? Talvez pode ser também que não foi inserido no "Library Path" do Delphi. |
Entao meu amigo eu dei uma conferida na Library Win 32 em directories
está informando C:\Odisseia\TCFComps\D14 creio que esteja certo .
OBS: Só para esclarecer para os amigos o seguinte fato, quando eu crio um novo aplicativo ou seja um novo projeto e adiciono o componente e mando compilar ele funciona e a compilação ocorre normalmente
Quero desde já estar agradecendo o interesse de e ajudar se houver alguma forma de eu colaborar mais com vcs me digam por favor. |
|
Voltar ao Topo |
|
|
leo_cj Colaborador
Registrado: Sábado, 26 de Março de 2011 Mensagens: 1335
|
Enviada: Sex Mai 26, 2017 8:45 am Assunto: |
|
|
Se eu entendi bem, se você cria um outro projeto e coloca o componente, ele funciona normalmente, mas no projeto em que você está trabalhando não compila, é isso?
se sim, o que é o EvAppProtect1? faz parte do componente ou foi você quem fez? |
|
Voltar ao Topo |
|
|
janiltojack Novato
Registrado: Quarta-Feira, 24 de Mai de 2017 Mensagens: 8
|
Enviada: Sex Mai 26, 2017 9:08 am Assunto: |
|
|
leo_cj escreveu: | Se eu entendi bem, se você cria um outro projeto e coloca o componente, ele funciona normalmente, mas no projeto em que você está trabalhando não compila, é isso?
se sim, o que é o EvAppProtect1? faz parte do componente ou foi você quem fez? |
Isso mesmo, exatamente o que vc falou em uma nova aplicação o componente compila normal sim.
EvAppProtect esse é o nome do componente, diante dessa situação eu presumo que o problema esta na minha aplicação mas noa consigo saber onde esta localizado.
desde já Obrigado por se interessar!! |
|
Voltar ao Topo |
|
|
leo_cj Colaborador
Registrado: Sábado, 26 de Março de 2011 Mensagens: 1335
|
Enviada: Sex Mai 26, 2017 9:33 am Assunto: |
|
|
bom, nunca trabalhei com esse componente, então vou me basear nos posts do tópico.
Conforme dito pelo amigo natanbh1, a biblioteca utilizada pelo componente é a EAppProt, já a EvAppProtect1 que também está declarada na uses do seu projeto é o nome do seu componente, portanto não é necessário declarar o mesmo na uses, mesmo porque ele é o componente e não uma classe ou interface.
Quando você cria um novo projeto e coloca o componente, repare como fica a uses da unit, provavelmente esteja apenas o EAppProt e não o componente junto.
Faça um teste removendo apenas o EvAppProtect1 da clausula uses do seu projeto que ocorre o erro, permanecendo a biblioteca EAppProt e tente compilar o projeto, feito isso, nos avise do resultado. |
|
Voltar ao Topo |
|
|
janiltojack Novato
Registrado: Quarta-Feira, 24 de Mai de 2017 Mensagens: 8
|
Enviada: Sex Mai 26, 2017 10:08 am Assunto: |
|
|
leo_cj escreveu: | bom, nunca trabalhei com esse componente, então vou me basear nos posts do tópico.
Conforme dito pelo amigo natanbh1, a biblioteca utilizada pelo componente é a EAppProt, já a EvAppProtect1 que também está declarada na uses do seu projeto é o nome do seu componente, portanto não é necessário declarar o mesmo na uses, mesmo porque ele é o componente e não uma classe ou interface.
Quando você cria um novo projeto e coloca o componente, repare como fica a uses da unit, provavelmente esteja apenas o EAppProt e não o componente junto.
Faça um teste removendo apenas o EvAppProtect1 da clausula uses do seu projeto que ocorre o erro, permanecendo a biblioteca EAppProt e tente compilar o projeto, feito isso, nos avise do resultado. |
Sim meu amigo Leo_cj eu somente add o componente sem fazer mais alterações a uses ficou assim:
Código: | uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg, XPMan, Mask, DBCtrls, DB, ADODB, EAppProt; |
type fcou assim :
Código: | type
TFrmLogin = class(TForm)
GrpBxLogin: TGroupBox;
Cadeado: TImage;
Image1: TImage;
BtnLogin: TButton;
BtnSair: TButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
EvAppProtect1: TEvAppProtect; <<<=========<<
procedure BtnSairClick(Sender: TObject);
procedure BtnLoginClick(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end; |
e o delphi me retorna o erro :
Código: | [DCC Error] Ulogin.pas(20): E2003 Undeclared identifier: 'TEvAppProtect'
[DCC Error] Ulogin.pas(20): E2217 Published field 'EvAppProtect1' not a class or interface type
[DCC Fatal Error] Adonai.dpr(16): F2063 Could not compile used unit 'Ulogin.pas' |
se quiser posso postar prpjeto completo pra vc´s analizarem
obrigado!! |
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Sex Mai 26, 2017 10:24 am Assunto: |
|
|
Suspeito que seja alguma inconsistência entre o código .pas e o .dfm do seu form.
Se puder, poste como está seu código .dfm para análise.
Para visualiza-lo:
- Botão direito na parte visual do seu form Login e clique "View as Text".
ou
- Selecione a parte visual do seu form e dê Alt + F12.
Poste o código .pas completo também para comparação. _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
|
janiltojack Novato
Registrado: Quarta-Feira, 24 de Mai de 2017 Mensagens: 8
|
Enviada: Sex Mai 26, 2017 11:37 am Assunto: |
|
|
natanbh1 escreveu: | Suspeito que seja alguma inconsistência entre o código .pas e o .dfm do seu form.
Se puder, poste como está seu código .dfm para análise.
Para visualiza-lo:
- Botão direito na parte visual do seu form Login e clique "View as Text".
ou
- Selecione a parte visual do seu form e dê Alt + F12.
Poste o código .pas completo também para comparação. |
fica assim o codigo do .dfm:
https://pastebin.com/Qi1ymmZg
coloquei no pastebin pois nao consegui postar todo ele aqui, nem sei se é correto fazer isso . |
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Sex Mai 26, 2017 12:10 pm Assunto: |
|
|
Fiz um teste unindo seu .pas e .dfm e aqui funcionou normalmente.
O que se leva a entender que o problema é específico em seu projeto mesmo ou então algum problema na instalação do seu componente.
O seu componente é demo ou você comprou?
Já experimentou desinstalar o componente e reinstalá-lo?
Já tentou entrar em contato com o suporte do componente?
Se puder me enviar o seu projeto por e-mail, eu tento reproduzir o seu cenário:
natanaelcosta1@gmail.com _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
|
janiltojack Novato
Registrado: Quarta-Feira, 24 de Mai de 2017 Mensagens: 8
|
Enviada: Sex Mai 26, 2017 1:03 pm Assunto: |
|
|
natanbh1 escreveu: | Fiz um teste unindo seu .pas e .dfm e aqui funcionou normalmente.
O que se leva a entender que o problema é específico em seu projeto mesmo ou então algum problema na instalação do seu componente.
O seu componente é demo ou você comprou?
Já experimentou desinstalar o componente e reinstalá-lo?
Já tentou entrar em contato com o suporte do componente?
Se puder me enviar o seu projeto por e-mail, eu tento reproduzir o seu cenário:
natanaelcosta1@gmail.com |
Eu falei com o suporte sim e me pediram pra fazer o teste em um novo projeto pra saber se o componente esta certo e o resultado foi positivo quanto ao funcionamento do componente ou seja o componente realmenteestá ok
Enviei pra vc no email, obrigado qualquer coisa estou no zap tbm 22 997369765 |
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Sex Mai 26, 2017 2:43 pm Assunto: |
|
|
Recebi o seu projeto e creio que consegui descobri o problema.
Dentro da pasta do projeto há arquivos com o mesmo nome e unit do componente (EAppProt e TEvAppProtect):
O compilador verifica as bibliotecas que estão na pasta da aplicação primeiro e depois em outros locais.
Por isso não se encontrava a unit correta para compilação.
Exclua os seguintes arquivos:
- TEvAppProtect.dfm
- EAppProt.pas
- EAppProt.dcu
E teste a compilação novamente. _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
|
janiltojack Novato
Registrado: Quarta-Feira, 24 de Mai de 2017 Mensagens: 8
|
Enviada: Sex Mai 26, 2017 5:29 pm Assunto: [RESOLVIDO ] Erro ao compilar |
|
|
natanbh1 escreveu: | Recebi o seu projeto e creio que consegui descobri o problema.
Dentro da pasta do projeto há arquivos com o mesmo nome e unit do componente (EAppProt e TEvAppProtect):
O compilador verifica as bibliotecas que estão na pasta da aplicação primeiro e depois em outros locais.
Por isso não se encontrava a unit correta para compilação.
Exclua os seguintes arquivos:
- TEvAppProtect.dfm
- EAppProt.pas
- EAppProt.dcu
E teste a compilação novamente. |
Sucesso amigo compilou agora, vc matou o problema ta de parabéns e muito obrigado. Rapaz vc me salvou de ter que refazer tudo.
Novamente obrigado!! |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|