Problema Debug Delphi - Alguém já solucionou?
24/06/2013
0
Trabalho com Delphi 7, e na unit datamodule, o break point parou de funcionado (funciona antes). Nas outras units funciona corretamente, li vários post na web e tentei alguns, mas não achei a solução.
Se alguém tiver alguma ideia.
1) Numero de linha na unit, minha tem 6.800;
2) Carácter de fim de linha CR+LF, faltando LF;
3) Número de componentes excessivos;
grato
Flávio
Flávio Campos
Post mais votado
29/11/2015
Já aconteceu também um caso mais grave comigo, o corrompimento do arquivo dfm que tinha caracteres estranhos e não havia em algumas linhas a quebra de linha e final de linha. O negocio ficou tão complicado que passei maior trabalho. Faça sempre backup de seus projetos sempre que for mudar algo.
Guilherme Wiethaus
Mais Posts
25/06/2013
Guilherme Wiethaus
Abraços
25/06/2013
Flávio Campos
Já fiz isto, o problema esta que nas outras units o breakpoint funciona.
Mas valeu
Flavio
25/06/2013
Francisco Macário
Pois o procedimentod e remover o .dcu e build sempre corrige.
25/06/2013
Guilherme Wiethaus
O Delphi fica todo marcado em vermelho as linhas indicando erro. Eu analisei e não achava nada. O problema era mais fundo, mas não percebível. A presença de caracteres estranhos e CR-LF faltando nas linhas eu peguei o arquivo .dfm e .pas levei para um editor que convertia as linhas no formato correto. Usei o NotePad++, converti para formato unix e depois reconverti para formato ANSI. Resolveu. So que isto acontecia o erro ao compilar diretamente ou depurar. Se na sua compilação ocorre erro e ele marca numa linha que não faz sentido, pode ser isto que esteja acontecendo. Um problema na hora de salvar o se projeto deu um erro. Outra mantenha sempre uma copia de seu projeto, pois uma hora o Delphi irá salvar o arquivo errado e perderá todo o form ou o pas. Já me aconteceu, experiência própria. Mantenha sempre versões sempre que termina uma.
Talvez isto não ajude, pois não sei como é a sua tela, sua execução e tal. Estou supondo que seja isto.
Abraços.
25/06/2013
Flávio Campos
Já tinha tentado, nos .pas, agora vou tentar no .dfm,
grato
Flavio
27/06/2013
Guilherme Wiethaus
27/06/2013
Guilherme Wiethaus
{$R *.RES} begin Application.Initialize; Application.CreateForm(TDataModule1, DataModule1); Application.CreateForm(TForm1, Form1) ; Application.Run; end.
Verifique se na sua unit principal de seus forms se está declarado na clausula uses o datamodule.
Outro problema que eu detectei uma época é que a unit A era declarado na B e esta B eu usava na unit C. Na unit C chamava funções e procedimentos da unit A. Não encontrava o erro e tive problemas na depuração por conta disso. A unit A deveria estar declarado também na unit C. Não sei como, mas o Delphi encontrava as funções da unit A a qual não estava declarado na unit C o que não deveria já que não os declarei. E por isso gerava problemas de depuração e código.
Dê mais detalhes do seu problema.
Abraços.
27/06/2013
Flávio Campos
Neste projeto o debug no datamodule funcionava normalmente, nos outros formulários o debug anda funciona, e do nada parou de funcionar, não sei se é o número de linhas ou de objetos, o datamodule é criado automaticamente (dm).
Quando coloco o breakpoint por exemplo no evento "Oncreate" ele aceita (vermelho), mas quando compilo/execute a marcação do breakpoint fica uma bola menor com um "x" dentro, e antes ele para.
Se coloco um showMessage('Passou no OnCreate'), ele é exibido.
Em todos os post que li, nenhum tinha uma dica, abri o dfm como texto e com os caracteres especiais ligados mas não vi CR+LF um sem o outro....
Se tiverem mais sugestões vou tentar..,
grato.
Flavio
Application.Initialize;
Application.Title := 'Fapini 2012';
Application.HelpFile := '';
Application.CreateForm(Tdm, dm);
Application.CreateForm(Tfrm_Principal, frm_Principal);
Application.CreateForm(Tdmcep, dmcep);
Application.CreateForm(TfrmLoc, frmLoc);
Application.CreateForm(TfrmPadrao, frmPadrao);
Application.CreateForm(Trpt_Padrao, rpt_Padrao);
Application.Run;
procedure Tdm.DataModuleCreate(Sender: TObject);
begin
{Guardar as SQL dos Selects originais }
SQL_Cadastro := Cadastro.SelectSQL.Text;
SQL_Auxiliar_Detalhe := Auxiliar_Detalhe.SelectSQL.Text;
SQL_Produto := Produto.SelectSQL.Text;
SQL_Veiculos_Despesas := Veiculos_Despesas.SelectSQL.Text;
end;
28/11/2015
Helbert Ganef
Parece problema antigo mas sem uma solução exata pelo que acompanhei e tenho lido em vários lugares...
Estou com este mesmo problema e tudo que foi sugestão eu realizei e nada desse problema sumir...
Alguém tem alguma outra "magia" que possa tentar fazer? Tudo que foi coisas logicas e humanas eu tentei.. só falta as coisas ocultas e espirituais kkkkkk
Nem cogito abrir outro form para colocar tudo nesse novo form pq tem bastante componente e tem mais de 15 mil linhas... seria um parto.
Valeu galera, conto com a ajuda de vcs.. abraços
Helbert Ganef
12/09/2019
Francisco Pereira
consegui resolver apagando usando o del no final das linhas que tinha mexido, puxando a linha de baixo, e novamente colocando enter.
Clique aqui para fazer login e interagir na Comunidade :)