Marcos P. M. de Souza wrote: > Estive dando um olhada na imprementação de classes e vi e os componentes são > na verdade um caso especial de classes. > Existem variaos componetes na internet que vem com o código fonte junto. > > O q eu quero saber é se posso e como devo fazer para utilizar os códigos > fonte desses componetes como se fossem classes ...nao como componentes > instalados... > Desse modo, no turbo delphi, poderia utilizar as classes de um componentes e > utiliza-lo sem instalar..
Ao abrir o .dfm -- o formulário de um projeto -- você pode ver o nome de cada objeto que você possui, seguido por sua classe, e abaixo suas propriedades e outros objetos que o compõe. Por exemplo: Object Panel1: TPanel Left = 64 Top = 32 Object Edit1: TEdit Left = 32 Text = 'Conteudo' Top = 12 end end Para você criar estes objetos em Runtime, basta: Panel1 := TPanel.Create(Self); Panel1.Left := 64; Panel1.Top := 32; Edit1 := TEdit.Create(Self); Edit1.Parent := Panel1; Edit1.Left := 32; Edit1.Text := 'Conteudo'; Edit1.Top := 12; ou seja, copiar o que está no dfm e adaptar para a linguagem. Use o Parent para indicar aonde que o componente está inserido visualmente, por exemplo, o Edit acima está dentro de um Panel. Se o componente estiver diretamente no formulário, basta ignorar o Parent. Mas você tem alguns problemas ao usar esta abordagem: 1. você não consegue ver o resultado em tempo de design, tem que rodar seu programa; 2. você não consegue utilizar o expert de algum componente, pois o expert tem que ser registrado na ide para que possa funcionar. 3. você fica mais dependente da documentação porque não consegue ver as propriedades do componente. Aqui o Code Insight ajuda bastante. -- Joao Morais