Página 1 de 1

destruir um form

Enviado: 24 Mai 2014 10:42
por Amparo
ola amigos

pessoal preciso da ajuda de vocês, eu não consigo destruir um FORM e criar novamente também não sei se é possível, a variável VRELESE contem .t. ou .f. , se eu estou iniciando um FORM a variável é .f. quando estou dentro do FORM e clico em um determinado botão chamo novamente a função DEFWINTAB passando a variável para .t. ai aparece o seguinte erro: Error: Window: SGC020101FORM is already defined. na linha do DEFINE WINDOW segue abaixo parte do fonte. agradeço desde já se alguém puder ajudar

Harbour MiniGUI Extended Edition 2.3.3 - 2014.03.20

Código: Selecionar todos

#INCLUDE "MINIGUI.CH"
#INCLUDE "SISTEMA.CH"
#INCLUDE "COMMON.CH"
#INCLUDE "FILEIO.CH"
#INCLUDE "DIRECTRY.CH"
#INCLUDE "SYSTEM.CH"
#include "SISTEMA.CH"
#include "STATION.CH"

STATIC LARGURA020101
STATIC ALTURA020101

*---------------------------------------------------------------------------------------------
PROCEDURE DEFWINTAB( VRELESE )

LARGURA020101 := GetDesktopWidth() - 4
ALTURA020101  := GetDesktopHeight() - 170

IF VRELESE
   RELEASE WINDOW SGC020101FORM
ENDIF

DEFINE WINDOW SGC020101FORM AT 130,0 WIDTH LARGURA020101 HEIGHT ALTURA020101 ;
 TITLE 'Layout : ' + SGC020101AFUNC[17] ICON SGC020101AFUNC[20] MODAL NOSIZE

...

END WINDOW

destruir um form

Enviado: 24 Mai 2014 14:27
por Toledo
Amparo, faça o seguinte:

Procure:

Código: Selecionar todos

IF VRELESE
   RELEASE WINDOW SGC020101FORM
ENDIF
e troque por:

Código: Selecionar todos

IF IsWindowDefined( SGC020101FORM )
   hWnd:=GetFormHandle("SGC020101FORM")
   _ReleaseWindow ( "SGC020101FORM" )
   DestroyWindow(hWnd)
ENDIF
Abraços,

destruir um form

Enviado: 26 Mai 2014 13:11
por Amparo
ola amigos

Toledo, obrigado pela ajuda funcionou.

abraços