Fórum problemas com FORM ... #209002

23/01/2004

0

eu tenho uma aplicaçao em MDI...

e nela to criando forms em run-time.. nao forms child .. form normal mesmo.

to tendo os seguintes problemas ... prar criar tah criando normal ...

procedure TMainForm.Opes1Click(Sender: TObject);
var Form2: TForm2;
begin
Form2 := TForm2.Create(self);
Form2.Show;
end;

o problema tah sendo quando eu tento mudar a propriedade de componentes ou mesmo
do form ... como por ex .. dar um form2.close;

ou mudar a propriedade de algum componente no form como por ex ..
dar um... form2.panel1.visible := false;

ps. qndo os comandos pra mudar ex a propriedade do panel, partem de um botao
que esta no form2 ele muda normalmente....

mas se eu lançar um comando de outro form como disse ali encima
´form2.panel1.visible := false;´

ele nao funciona .... alguem aew sabe o pq nao rola?
e se tem como dar um jeito nisso ae?

:)


Salsa

Salsa

Responder

Posts

23/01/2004

Beppe

Talvez você não esteja se referindo ao form corretamente. No código que passou você atribui o form à uma variável local à procedure, e depois pode estar usando a variável global definida na unit do form.


Responder

Gostei + 0

24/01/2004

Salsa

e oq vc sugere q eu faça pra arrumar isso?


Responder

Gostei + 0

24/01/2004

Wolverine

amigo, eu já tive este erro, no form2 da td certo, mais qdo vc atribuir um valor no form1 para o form2 da um erro de acesso violado no endereço, coisa assim, porem percebi q quando o delphi criava automaticamente os froms (auto-create form) eu conseguia atribuir um valor no form1 para o form2, a única solução q eu consegui resolver, foi :
fazer q o Delphi crie automaticamente tds os form, e no Source do Projeto eu fecho o form
Ex.
o meu programa era um editor de texto em MDI, tinha um form principal, q cria o outro form para q eu possa editar o texto, então eu deixei q o delphi crie os 2 form e no source e fecho o form2

program edit;

uses
Forms,
prin in ´prin.pas´ ,
editor in ´editor.pas´ ;

{$R *.res}

begin
Application.Initialize;

Application.Title := ´Edit Fácil´;
Application.CreateForm(TFormprim, Formprim);
{
Formedit.Close;
Foi posto esta linha de comando pq eu ñ consegui
colocar comandos no ToolBar ´ex:Formedit.salvarExecute(Sender);´ semper dava erro
entao mandei q o delphi cria-se os dois form´s e depois fecha o formedit

}
Application.CreateForm(TFormedit, Formedit);
[b:86b35047dc]Formedit.Close;[/b:86b35047dc]

Application.Run;
end.


no button q cria o formedit coloque este código:

procedure TFormprim.Novo1Click(Sender: TObject);
begin
//LockWindowUpdate(Handle) é para retirar o efeito da maximização
LockWindowUpdate(Handle);
//comando para criar o from
with TFormedit.Create(Self) do
begin
Show;
LockWindowUpdate(0);
end;
end;

com isso vc ñ precisa criar uma var Form2: TForm2;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar