Inserir dois formulários juntos. [RESOLVIDO]

1. Inserir dois formulários juntos. [RESOLVIDO]

Rodrigo
ramega

(usa Ubuntu)

Enviado em 21/01/2011 - 11:14h

E ai galera do VOL, a minha dúvida é a seguinte. Estou criando um sistema com login e não estou conseguindo inserir a tela de login (form1) junto com o referido sistema (form2). Pois assim que o usuário coloque o nome e a senha, irá entrar na tela que é para estar abaixo da do login. Estou utilizando o lazarus e já criei o form do login e também o form que é o sistema.


  


2. MELHOR RESPOSTA

Brian Chalega da Silva
brian_ch

(usa Arch Linux)

Enviado em 21/01/2011 - 12:09h

Na unit da sua aplicação, depois do implementation, coloque 'uses unitLogin' ex:

var
frmApp: TfrmApp;

implementation

uses UnitLogin; // Essa linha aqui.

{ TfrmApp }

Aí você vai poder chamar o form de login a partir do form do sistema com um
frmLogin.show;
ou
frmLogin.showModal; //Com o showModal o usuário não vai poder sair desse form enquanto ele não fechar.

Ah! E caso você tenha deixado os forms com os nomes form1 e form2 mesmo, é bom colocar um nome mais sugestivo, pois deixar o padrão não é uma boa prática de programação(o ruim é que renomear pode dar problemas, é melhor ir em salvar como, se quiser seguir esse conselho).

Espero ter ajudado, e dê retorno.

3. Re: Inserir dois formulários juntos. [RESOLVIDO]

Rodrigo
ramega

(usa Ubuntu)

Enviado em 21/01/2011 - 20:43h

Da erro?


Access violation.

Press Ok to ignore and risk data corruption.
Press Cancel to kill the program.



4. Re: Inserir dois formulários juntos. [RESOLVIDO]

Brian Chalega da Silva
brian_ch

(usa Arch Linux)

Enviado em 21/01/2011 - 22:47h

Em que evento você está chamando o outro form? Diga também se os 2 forms estão sendo criados automaticamente e em que sequência (você pode ver isso indo em project->project options->aba forms->auto-created forms)

Caso você não queira criar o form automaticamente, antes do 'form.show' coloque o comando:

application.createForm(TfrmLogin, frmLogin);

Substituindo, é claro os nomes da classe (TfrmLogin) e do form (frmLogin).

E dê uma olhada também se o access violation não está sendo causado por outra coisa, como acesso a banco de dados por exemplo.

[EDIT] Pensando bem, esse "Press Ok to ignore and risk data corruption." tem todo o jeito de ser coisa com banco de dados, para testar se é isso, deixe os componentes do form de login sem fazer nenhum acesso ao banco, se o erro parar vamos saber que é isso.

Caso isso se confirme a gente passa a tentar consertar isso, mas um palpite que eu daria antecipadamente é que caso você use um datamodule, deixe-o como primeiro form a ser criado (colocando-o no topo da lista dos auto-created forms).


5. Re: Inserir dois formulários juntos. [RESOLVIDO]

Rodrigo
ramega

(usa Ubuntu)

Enviado em 22/01/2011 - 10:59h

Blz! Deu certo, um pequeno problema com o banco, está iniciando as duas telas juntas, agora o que ocorre é que ao logar com nome e login a tela de login não desaparece. Dá inicio ao programa, más com a tela de login aberta.


6. Re: Inserir dois formulários juntos. [RESOLVIDO]

Brian Chalega da Silva
brian_ch

(usa Arch Linux)

Enviado em 22/01/2011 - 11:27h

Você mandou ela fechar? Depois do código que conecta no banco do form de login coloque simplesmente um:

frmLogin.close;
ou
frmLogin.hide; //Caso você queira só esconder a tela e não fecha-la.

Foi isso o que você fez?


7. Re: Inserir dois formulários juntos. [RESOLVIDO]

Rodrigo
ramega

(usa Ubuntu)

Enviado em 22/01/2011 - 18:01h

Blz! Precisava colocar dentro do if do nome e senha.

Obrigado pelas dicas.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts