Visualisar compilação/debugar dentro da VCL

28/10/2009

Bom dia Colegas

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)

Respostas

02/02/2010

Álison Bissoli

Experiemtne incluir a cláusula {$D+}, deve ativar a funcionalidade de compilação em debug. http://garotodesktop.blogspot.com
Responder Citar

02/02/2010

Socram

Amigo, não sei se esse seu exemplo foi apenas um exemplo p postar aqui ou é o que vc realmente esta fazendo.

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.
Responder Citar

02/02/2010

Delmar Observação)

Em primeiro lugar, obrigado aos colegas pelo interesse

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.
Responder Citar

05/02/2010

Delmar Observação)

Resolvido e funcionando do jeito que eu gostaria

Resposta comentada no meu DevSpace http://www.devmedia.com.br/space/?177047#
Responder Citar

05/02/2010

Delmar Observação)

Resolvido e funcionando do jeito que eu gostaria

Resposta comentada no meu DevSpace http://www.devmedia.com.br/space/?177047#
Responder Citar

05/02/2010

Álison Bissoli

Não consigo abrir seu devspace pelo link, na verdade de ninguém. Acontece isso com vocês também? Dá página em manutenção.   https://twitter.com/garotodesktop http://garotodesktop.blogspot.com  
Responder Citar