Zero_Cool_PT
09-03-2008, 21:26
Boas pessoal. Existe algum comando que nos feche as form's todas? É que tar a criar um botão para cada Form fazer unload é um bocado chato...Obrigado desde já
|
View Full Version : VB6.0 me.close Zero_Cool_PT 09-03-2008, 21:26 Boas pessoal. Existe algum comando que nos feche as form's todas? É que tar a criar um botão para cada Form fazer unload é um bocado chato...Obrigado desde já Ш¡zard·σf·Шαr 09-03-2008, 21:46 EndPara terminar o programa. Serve? Zero_Cool_PT 09-03-2008, 22:13 EndPara terminar o programa. Serve? Perfeitamente :D Brigadão Kayvlim 10-03-2008, 01:34 EndPara terminar o programa. Serve? Nunca!!! Faz os unloads todos. NUNCA uses o "End". É a pior forma de terminar um programa. Depois explico porquê :x Ш¡zard·σf·Шαr 10-03-2008, 01:43 lol, apenas dei a solução mais simples e bruta para fazer o que ele pretende. :P E, num programa simples como o dele, é quase impossível o End dar problemas... Kayvlim 10-03-2008, 15:19 Eu percebo isso, e em tempos também usei o End. No entanto, é mesmo a pior forma de terminar um programa. É simples: o Unload destrói todos os objectos da memória, e o End "corta" a execução do programa sem a limpar, como se fosses ao gestor de tarefas e fizesses "Terminar Tarefa". Além disso, o End tem outro problema: eventos como o QueryUnload, Unload ou Terminate não são chamados. Se fizeres subclassing no teu programa, é a mistura perfeita para um crash. Uma boa forma de fazer as coisas é esta: Option Explicit Private Sub Command1_Click() Dim CadaForm As Form For Each CadaForm In Forms If Not CadaForm.Name = Me.Name Then Unload CadaForm End If Next Unload Me End Sub Private Sub Form_Load() Form1.Show Form2.Show Form3.Show Form4.Show End Sub (um projecto com 4 forms, e em qualquer um deles, um command1 e este código) |