Page 1 of 1

ANTONIO, Una ayuda por favor

Posted: Fri May 15, 2009 2:42 pm
by laugusto
Buenos Dias Antonio,

Tengo esta función

Code: Select all

Function XX( oDlg, oBCli_1, oBCli_2 )

   lapm := ANAM_08( oWnd, PVALORF, TCOD, TFIL, TUNID, TDATA, aJPG_1, n_1, aJPG_2, n_2 )

   ? lapm
   IF lapm
      Ficha_122( oDlg, oBCli_1 )
      Ficha_124( oDlg, oBCli_2 )
      lapm := .f.
      ? lapm
   EndIF

Return nil
 
Lo que pasa es que cuando se llama a la función Anam_08, muestra el contenido de la variable LAPM, creo que esto sólo debería ocurrir cuando me clave en el botón para salir de la función anam_08, es en ese momento que me LAPM := TRUE.
Es como si la función de Active WINDOW en anam_08 tuvo la cláusula nowait.

Antonio, ¿cómo resolver el problema, o llame a la función anam_08, LAPM hacer := TRUE y la espalda, ejecute tela_122 y tela_124, a continuación, el fragmento de código de función anam_08

Code: Select all

//----------------------------------------------------------------------------------------------------//
Function Anam_08( oWnd, VALORF, COD, FIL, UNID, DATA, JPG_1, m_1, JPG_2, m_2 )

   aJPG_1 := JPG_1
   aJPG_2 := JPG_2
   n_1 := m_1
   n_2 := m_2
   nFator_1 := 9  // Se nFator_1 = 5, mostra foto com tamanho REAL
   nFator_2 := 9  // Se nFator_2 = 5, mostra foto com tamanho REAL
   lapm := .f.

   // Iniciando...
   //---------------------------------------------------------------------
   // "Escondendo a barra de tarefas"
   ShowWindow( FindWindow( 'Shell_TrayWnd', Nil ), SW_HIDE )
 
   //---- brush do fundo da janela principal
   DEFINE BRUSH oBrush COLOR nRGB(  49, 106, 197 )

   // definiciones de objetos icon y font
   DEFINE FONT oFont NAME "Arial" SIZE 0,-11

   MENU oMenu
   ENDMENU

   DEFINE WINDOW oAnam_08;
      FROM 00,00 TO ScreenHeight, ScreenWidth PIXEL;
      NOMAXIMIZE NOMINIMIZE;
      BRUSH oBrush;
      MENU oMenu

   //---------------------------------------------------------------------
   // Lado Esquerdo da Tela - oAct_1
   //---------------------------------------------------------------------
   oAct_1 := TActiveX():New( oAnam_08, "Ctrl.1", 1, 1, 400, 568 )

   oAct_1:bOnEvent := { | event, aParams, pParams | Event_Esq( event, aParams, pParams, oAct_1 ) }

   //---------------------------------------------------------------------
   // Lado Direito da Tela - oAct_2
   //---------------------------------------------------------------------
   oAct_2 := TActiveX():New( oAnam_08, "Ctrl.1", 1, 400, 400, 568 )

   oAct_2:bOnEvent := { | event, aParams, pParams | Event_Dir( event, aParams, pParams, oAct_2 ) }

   DEFINE MESSAGE BAR oMsg;
      OF oAnam_08 FONT oFont COLOR "R+/W" NOINSET

   //---------------------------------------------------------------------
   // Lado Esquerdo da Tela - oAct_1
   //---------------------------------------------------------------------

   // Encerrar Rotina
   DEFINE MSGITEM oMsgItem OF oMsg;
      PROMPT 'Encerrar';
      SIZE 65;
      ACTION( ShowWindow( FindWindow( 'Shell_TrayWnd', nil ), SW_SHOWNA ),;
              lapm := .t., oAnam_08:End() );
      TOOLTIP "Encerrar esta Rotina"

comandos...

   //-------------------------------------------------------------------------
   // Inicio dos Eventos do teclado
   //-------------------------------------------------------------------------

   oAnam_08:bKeyDown := { |nKey| IF( nKey = VK_ESCAPE,( AutResiz( .t., XY, oAnam_08, -1 ), oAnam_08:End() ), nil ) }

   //----------------------------------------------------------------------------------
   // Fim dos Eventos do teclado

   ACTIVATE WINDOW oAnam_08 MAXIMIZED;
      ON INIT( AutResiz( .t., XY, oAnam_08, YX ),; //   oAct_1 : Do( "LicenseKey", "5555" ),;
               SetWindowPos( oAnam_08:hwnd, -1, 0, 0, 0, 0, 3 ) )

   // Retornando...
   dbSelectArea( "FiMed" )
   dbGotop()

   oFont:End()

Return lapm

 
Gracias en Adelantado,

Saludos desde Brasil

Re: ANTONIO, Una ayuda por favor

Posted: Sat May 16, 2009 7:44 am
by Antonio Linares
Laugusto,

Las ventanas son siempre no modales, excepto la principal, por lo que debes usar un dialogo en vez de una ventana.

En FWPPC existe la excepcion de que pueden usarse ventanas modales.

Re: ANTONIO, Una ayuda por favor

Posted: Wed May 20, 2009 2:21 am
by laugusto
Buenas,

Antonio, gracias por contestar.

Saludos desde Brasil,