Ir para conteúdo
Fórum Script Brasil
  • 0

duplicando um objeto em tempo de execução


Pablo Polícia

Pergunta

Estou criando um pequeno sistema de criação de novos sistemas. Eu fiz com que o objeto na tela de execução duplicasse. Eu fiz assim:


edit1:=tedit.create(self);
edit1.parent:=self;
[/CODEBOX]

Pelo menos isso deu certo. Mas eu queria que esse objeto duplicado ficasse com a mesma funcionalidade do objeto original. Mas não acontece isso. O objeto original não consegue mais mover e não funciona mais.

obs: sou iniciante de Delphi

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Estou criando um pequeno sistema de criação de novos sistemas.
Um gerador de aplicativos? Algo como o X-Maker ou SpeedCase que geram aplicações cujo código é compilado com Delphi?

Mas eu queria que esse objeto duplicado ficasse com a mesma funcionalidade do objeto original. Mas não acontece isso. O objeto original não consegue mais mover e não funciona mais.
Como assim objeto original?

Por acaso você tem um componente com o nome Edit1 no form e então utilizou este código que você postou?

Se foi, o procedimento está incorreto.

Dê uma olhada neste tópico Comando Para Criar Componentes (pode lhe ser útil)

obs: sou iniciante de Delphi
e já quer começar com pedreira... :D

Boa sorte!

Link para o comentário
Compartilhar em outros sites

  • 0

No caso o objeto original com o name Edit1. Eu queria para quando duplicar o objeto em execução, as propriedades do objeto duplicado ficasse igual ao objeto original no caso Edit1.

O código do Edit1 eu já testei e deu certo, mas tem esse probleminha: Quando eu duplico o objeto, o objeto duplicado não fica com as mesmas propriedades do objeto original no caso o Edit1 .

obs: Esse Edit1 já vem no formulário.

Link para o comentário
Compartilhar em outros sites

  • 0
No caso o objeto original com o name Edit1. Eu queria para quando duplicar o objeto em execução, as propriedades do objeto duplicado ficasse igual ao objeto original no caso Edit1.
Pablo Polícia, posso estar enganado, mas isto vai exigir um conhecimento que você não tem. Vai precisar pesquisar e estudar mais sobre a criação de componentes em tempo real.

Eu poderia lhe dizer que você deveria mover cada propriedade, uma a uma.

Mas, se pensar no fato de que você poderá executar este procedimento para diferentes classes, então eu lhe diria que você tem que pesquisar algo relacionado a RTTI e é o tipo de coisa que toma tempo para explicar e compreender. Coloque a palavra RTTI nesta página de busca no DevMedia e nesta do ActiveDelphi, que você achará bastante coisa sobre o assunto.

O código do Edit1 eu já testei e deu certo, mas tem esse probleminha: Quando eu duplico o objeto, o objeto duplicado não fica com as mesmas propriedades do objeto original no caso o Edit1 .

obs: Esse Edit1 já vem no formulário.

Então, na verdade não deu certo!

Voce tem que levar em conta que o que você quer é fazer instanciação dinâmica de classes de componentes. Voce não deveria utilizar o nome de um componente instanciado no seu form, como você fez - Edit1 não pode apontar para o objecto edit criado com o form e para o que você criou. Chegou a ler toto o tópico que citei? ...

Meu auxílio fica por aqui. Espero que outro colega possa lhe ajudar mais nesta empreitada.

Boa sorte.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...