Visualisar compilação/debugar dentro da VCL
28/10/2009
0
Estou estudando as classes TObject, TPersistent e TComponent
Fiz um exemplo bem simples e gostaria de acompanhar a compilação/debugar dentro da VCL.
Apesar de colocar um Break Point na linha que cria o componente e usar F7, a compilação não avança para dentro da VCL, e sim, avança para a próxima linha do exemplo, no caso, para o end;
Tem como forçar a compilação para dentro da VCL? Alguma diretiva? Alguma combinação especial de teclas?
Uso Delphi 7
Exemplo
procedure TForm1.Button1Click(Sender: TObject);
var
comp: TComponent;
begin
comp := TComponent.Create(self); //Break Point nessa linha com F7
end;
Delmar Observação)
Posts
02/02/2010
Alison Bissoli
02/02/2010
Marcos Iwazaki
Se for ele não vai executar mesmo o que vc ta fazendo, pois vc esta executando o Create do TComponent e não o do seu componente.
----------
procedure TForm1.Button1Click(Sender: TObject);
var
comp: TComponent;
begin
comp := TComponent.Create(self); //Break Point nessa linha com F7
end;
--------
Agora se isso foi apenas um exemplo p postar aqui no forum ignore o meu post. Mas é que isso seria um motivo p não estar parando no seu breakpoint.
02/02/2010
Delmar Observação)
Alison, {$D+} me parece já ser ativo por padrão. Não surtiu efeito desejado ou eu não usei corretamente.
Socram, como estou estudando as classes, é exatamente o que eu quero. Ou seja, quero rastrear dentro da VCL.
Uma das minhas curiosidades é, por exemplo, todo munda fala nos cursos que é no create do TObject que é alocado memória. Só que se olharmos para o create do TObject, este construtor não tem nenhuma linha de código.
constructor TObject.Create;
begin
end;
Que tal, então é isso, eu queria aprender o que acontece atrás dos bastidores da VCL, e para isso seria importante poder ir compilando para dentro dela. Aí com F7 poderíamos ir percorrendo e vendo por onde está passando o fluxo da execução, e se não estou querendo demais, acompanhar com RTTI a inicialização dos objetos.
05/02/2010
Delmar Observação)
Resposta comentada no meu DevSpace https://www.devmedia.com.br/space/?177047#
05/02/2010
Delmar Observação)
Resposta comentada no meu DevSpace https://www.devmedia.com.br/space/?177047#
05/02/2010
Alison Bissoli
Clique aqui para fazer login e interagir na Comunidade :)