Fórum Como colocar as propriedades de no Object Inspector? #277035
13/04/2005
0
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
Curtir tópico
+ 0Posts
13/04/2005
Massuda
Gostei + 0
13/04/2005
Yallebr
Obrigado.
Gostei + 0
20/04/2005
Yallebr
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
20/04/2005
Yallebr
Coloquei RegisterCustomModule(TFrmNovo, TCustomModule);
O erro é [Error] uCadastroMestre.pas(612): Undeclared identifier: ´TCustomModule´
Já procurei Todas unidades para TCustomModule
Gostei + 0
20/04/2005
Massuda
... 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
20/04/2005
Yallebr
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
20/04/2005
Massuda
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
21/04/2005
Yallebr
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
21/04/2005
Massuda
var 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;
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
21/04/2005
Yallebr
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
24/04/2005
Yallebr
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
24/04/2005
Yallebr
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
25/04/2005
Massuda
Os componentes visuais que você está se referindo seriam apenas os dos seus componentes ou qualquer um?
if csDesigning in ComponentState then...
Gostei + 0
30/03/2006
Alessio
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
17/08/2006
Yallebr
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)