Como colocar as propriedades de no Object Inspector?
Olá pessoal,
Pessoal tenho uma classe herando de TFrom, ela tem várias propriedades.
Como faço para colocar as propriedades desse novo Form no Publicado ? As propriedades Default do TForm aparecem mas as novas não. As propriedades já estão no publicado - published;
COmo posso fazer :?:
Obrigado.
Pessoal tenho uma classe herando de TFrom, ela tem várias propriedades.
Como faço para colocar as propriedades desse novo Form no Publicado ? As propriedades Default do TForm aparecem mas as novas não. As propriedades já estão no publicado - published;
COmo posso fazer :?:
Obrigado.
Yallebr
Curtidas 0
Respostas
Massuda
13/04/2005
Dê uma olhada [url=http://forum.clubedelphi.net/viewtopic.php?t=57967]neste tópico[/url] do fórum.
GOSTEI 0
Yallebr
13/04/2005
Massuda,
Obrigado.
Obrigado.
GOSTEI 0
Yallebr
13/04/2005
Olá Massuda.
Tive problemas apenas na última linha do código, poderia me dar mais uma ajuda por favor?
RegisterCustomModule(TMyCustomForm, TCustomModule);
Não achei nada No HELP nem no outro forum que deu origem a esse código que tenha uma explicação do que seja TCustomModule.
Vamos supor meu formulário chama ´FrmNovo´. O que colocaria no outro parâmetro?
RegisterCustomModule(TFrmNovo, ?????);
Obrigado.
Tive problemas apenas na última linha do código, poderia me dar mais uma ajuda por favor?
interface ... procedure Register; implementation uses dsgnIntf; // ou DesignIntf se D6+, inclua designide na seção requires do package ... procedure Register; begin RegisterCustomModule(TMyCustomForm, TCustomModule);
RegisterCustomModule(TMyCustomForm, TCustomModule);
Não achei nada No HELP nem no outro forum que deu origem a esse código que tenha uma explicação do que seja TCustomModule.
Vamos supor meu formulário chama ´FrmNovo´. O que colocaria no outro parâmetro?
RegisterCustomModule(TFrmNovo, ?????);
Obrigado.
GOSTEI 0
Yallebr
13/04/2005
So para completar.
Coloquei RegisterCustomModule(TFrmNovo, TCustomModule);
O erro é [Error] uCadastroMestre.pas(612): Undeclared identifier: ´TCustomModule´
Já procurei Todas unidades para TCustomModule
Coloquei RegisterCustomModule(TFrmNovo, TCustomModule);
O erro é [Error] uCadastroMestre.pas(612): Undeclared identifier: ´TCustomModule´
Já procurei Todas unidades para TCustomModule
GOSTEI 0
Massuda
13/04/2005
Tive problemas apenas na última linha do código, ...
No momento estou usando D5 e tanto TCustomModule como RegisterCustomModule são declarados na unit DsgnIntf.pas, que está no diretório Source\ToolsAPI.... RegisterCustomModule(TMyCustomForm, TCustomModule);
No caso do D6 ou mais recente, esses símbolos deveriam estar na unit DesignIntf, mas não tenho como verificar isso agora.
GOSTEI 0
Yallebr
13/04/2005
Massuda,
Essa parte achei q não está bem documentada no Delphi. navegando pelo código, cheguei a conclusão que é DesignEditors.
Tudo funcionou ok! Obrigado.
Agora as propriedades publicadas que são objetos de outras classes não funcioram. Por exemplo:
published
property Pesquisa: TPesquisa read FPesquisa write FPesquisa.
Gostaria que aparecesse o + antes do nome. Tenho que registar a classe TPesquisa?
8)
Essa parte achei q não está bem documentada no Delphi. navegando pelo código, cheguei a conclusão que é DesignEditors.
Tudo funcionou ok! Obrigado.
Agora as propriedades publicadas que são objetos de outras classes não funcioram. Por exemplo:
published
property Pesquisa: TPesquisa read FPesquisa write FPesquisa.
Gostaria que aparecesse o + antes do nome. Tenho que registar a classe TPesquisa?
8)
GOSTEI 0
Massuda
13/04/2005
Essa parte achei q não está bem documentada no Delphi...
Na verdade, acho que não existe documentação ´oficial´. Me indicaram a pouco tempo [url=http://www.marcocantu.com/ddh/ddh15.htm]este texto[/url] do Marco Cantú.Agora as propriedades publicadas que são objetos de outras classes não funcioram.
Peguei este exemplo no NG da Borland, talvez ajude:TMyObject = class (TPersistent) private fAnInteger : Integer; fABoolean : Boolean; published propetry AnInteger : Integer read fAnInteger write fAnInteger; property ABoolean : Integer read fABoolean write fABoolean; end; TMyComponent = class (TComponent) private FMyObject : TMyObject; procedure SetMyObject (value : TMyObject); public constructor Create (AOwner : TComponent); override; published property MyObject : TMyObject read fMyObject write SetMyObject; end; procedure TMyComponent.SetMyObject (value : TMyObject); begin FMyObject.Assign (value) end; constructor TMyComponent.Create (AOwner : TComponent); begin inherited Create (AOwner); fMyObject := TMyObject.Create; end;
GOSTEI 0
Yallebr
13/04/2005
Olá Massuada,
Tudo funcionou bem. Obrigado. Em relação a documentação, encontrei no Dev Guide da Borland realmente falando que não existe documentação oficial, porém existe uma documentação na unit DsgnIntF (o q tb não é nada boa, mas ajuda)
O que eu não entendi nesse código foi a questão do Assign.
Por que preciso colocar o FMyObject.Assign (value) em meu método Set ? Ao meu ver teria que coloca no método create. Pois eu devo atribuir um objeto apenas na sua criação não? Nesse caso ele fica no método Set.
Alguem saberia explicar?
8)
Obrigado.
Tudo funcionou bem. Obrigado. Em relação a documentação, encontrei no Dev Guide da Borland realmente falando que não existe documentação oficial, porém existe uma documentação na unit DsgnIntF (o q tb não é nada boa, mas ajuda)
O que eu não entendi nesse código foi a questão do Assign.
procedure TMyComponent.SetMyObject (value : TMyObject); begin FMyObject.Assign (value) end;
Por que preciso colocar o FMyObject.Assign (value) em meu método Set ? Ao meu ver teria que coloca no método create. Pois eu devo atribuir um objeto apenas na sua criação não? Nesse caso ele fica no método Set.
Alguem saberia explicar?
8)
Obrigado.
GOSTEI 0
Massuda
13/04/2005
Por que preciso colocar o FMyObject.Assign (value) em meu método Set ?
No código exemplo que postei, o objeto FMyObject é criado no construtor Create e (ficou faltando no exemplo) ser destruído no destrutor Destroy. Do modo como está escrito, cada vez que executarvar MyComponent: TMyComponent; OutroObject: TMyObject; ... MyComponent.MyObject := OutroObject;
Vamos supor que o método TMyComponent.SetMyObject fosse
procedure TMyComponent.SetMyObject (value : TMyObject); begin FMyObject := value; end;
MyComponent.MyObject := OutroObject;
Ao meu ver teria que coloca no método create. Pois eu devo atribuir um objeto apenas na sua criação não?
Não sei se eu entendi direito o que você quis dizer com isso.A prática usual é construir completamente um objeto no seu construtor. Em casos onde os objetos internos são ´caros´ (por exemplo, podem demorar para ser construídos) ou são usados apenas eventualmente, pode-se optar por construir esses objetos internos ´por demanda´.
GOSTEI 0
Yallebr
13/04/2005
Massuda,
Sim, Ficou clara sua resposta. Minha dúvida era apenas a questão de usar Assign ao inves de := (atribuição).
Mas como vc falou é pelo fato de eu ter outro objeto para não ser destruido.
Obrigado.
Sim, Ficou clara sua resposta. Minha dúvida era apenas a questão de usar Assign ao inves de := (atribuição).
Mas como vc falou é pelo fato de eu ter outro objeto para não ser destruido.
Obrigado.
GOSTEI 0
Yallebr
13/04/2005
Massuda vc conhece isso:
Tudo estava funcionando perfeitamente.
Mas agora todo formulário que eu herdo ele vem com as propriedades no objector inspector legal, mas os componentes visuais do form agora não estão sendo herdados!
Já repeti o processo com outro form, mas nada.. Já aconteceu isso com vc?
Obrigado.
Tudo estava funcionando perfeitamente.
Mas agora todo formulário que eu herdo ele vem com as propriedades no objector inspector legal, mas os componentes visuais do form agora não estão sendo herdados!
Já repeti o processo com outro form, mas nada.. Já aconteceu isso com vc?
Obrigado.
GOSTEI 0
Yallebr
13/04/2005
Ah,
So mais umas informações.
Eu não vejo os componentes visuais em tempo de designer. Mas em tempo de execução eu vejo todos.
O pacote está designertime.
So mais umas informações.
Eu não vejo os componentes visuais em tempo de designer. Mas em tempo de execução eu vejo todos.
O pacote está designertime.
GOSTEI 0
Massuda
13/04/2005
...todo formulário que eu herdo ele vem com as propriedades no objector inspector legal, mas os componentes visuais do form agora não estão sendo herdados!
Colega, nunca passei por isso.Os componentes visuais que você está se referindo seriam apenas os dos seus componentes ou qualquer um?
Eu não vejo os componentes visuais em tempo de designer. Mas em tempo de execução eu vejo todos.
Pode ser um problema relacionado com condições do tipoif csDesigning in ComponentState then...
GOSTEI 0
Alessio
13/04/2005
Eu usei desta dica e tinha tudo funcionando no Delphi 7 mas agora não consigo migrar para o delphi 2006. ELe não aceita.
Alguem sabe me dizer como fazer isto no Delphi 2006.
Já tentei de tudo..
O Delphi reclama q não existe os arquivos.pas...
Alguem sabe me dizer como fazer isto no Delphi 2006.
Já tentei de tudo..
O Delphi reclama q não existe os arquivos.pas...
GOSTEI 0
Yallebr
13/04/2005
Testei em Delphi 2005 e funcinou ok.
GOSTEI 0