Como chamar o form em WindowsForm
07/05/2004
0
Na VCL para chamar um form eu faço o seguinte:
From :=TFrom.create(Application);
try
From.ShowModal;
finally
FreeAndNil(Form);
end;
Isso no Windows From não funciona, então como fazer ????
Camaradas se alguem puder me ajudar ficarei muito grato.
Um grande abraço a todos e fiquem com DEUS (aquele que tudo pode !!!).
Volnei Rebouças
Posts
08/05/2004
Bon Jovi
[size=9:aaa1f86960]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
[b:aaa1f86960]
var
Form1: TForm1;
[/b:aaa1f86960]
implementation
{$R *.DFM}
end.
[/size:aaa1f86960]
O Delphi antigo já declara uma variável global Form1. Criar variável fora de uma classe desse modo não é seguir orientação a objetos. Por essa facilidade, muitos programadores usam essa variável que o Delphi cria, o que não é o melhor modo, e sim criar a variável dentro de uma classe.
Outra coisa, o conceito chato de owner no construtor não existe mais, pelo menos nas classes padrões do .Net.
Então, no .net fica assim por exemplo com Delphi8:
uses unitTeste; ... procedure TfrmPrincipal.Button1_Click(sender: System.Object; e: System.EventArgs); var FormTeste: TfrmTeste; begin FormTeste := TfrmTeste.Create; try FormTeste.ShowDialog; finally FormTeste.Dispose; end; end;
08/05/2004
Beppe
Esta sua declaração é um pouco ambígua. É um péssimo ato, criar uma instância de uma classe, dentro dela mesma, se não for em um método de classe(class function, static). E criar em uma rotina sem classe, não vejo nada de errado. O problema são com as globais., caso âmenizado com class var´s.
Poderia definir isto melhor?
08/05/2004
Bon Jovi
Onde eu disse isso???????!
08/05/2004
Beppe
Onde eu disse isso???????![/quote:af2bcbcc7e]
Se nem vc sabe, imagina eu... :lol:
Agora sério. Me referia a estes trechos: ´...Criar variável fora de uma classe desse modo não é seguir orientação a objetos...e sim criar a variável dentro de uma classe.´ Não consegui encontrar um fio de lógica, em nenhuma interpretação possível.
Novamente, pode esclarecer?
T+
08/05/2004
Bon Jovi
[size=9:4e334e200c]´O Delphi antigo já declara uma variável global Form1. Criar variável fora de uma classe desse modo não é seguir orientação a objetos. Por essa facilidade, muitos programadores usam essa variável que o Delphi cria, o que não é o melhor modo,´[/size:4e334e200c]
Até aí eu disse sobre um mal que o Delphi nativo Win32 permite.
Essa variável Form1 em negrito é o q falei sobre a variável fora da classe:
[size=9:4e334e200c]type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
[b:4e334e200c]var
Form1: TForm1; [/b:4e334e200c]
implementation
{$R *.DFM} [/size:4e334e200c]
---------------------------------------------------------------------------------
[size=9:4e334e200c]´e sim criar a variável dentro de uma classe.´[/size:4e334e200c]
E nisso eu quis dizer o q fiz no exemplo q eu já tinha mostrado antes, onde ´FormTeste: TfrmTeste´ está sendo instanciada dentro da classe TfrmPrincipal:
procedure TfrmPrincipal.Button1_Click(sender: System.Object; e: System.EventArgs); var FormTeste: TfrmTeste; begin FormTeste := TfrmTeste.Create; try FormTeste.ShowDialog; finally FormTeste.Dispose; end; end;
Clique aqui para fazer login e interagir na Comunidade :)