FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Saltos de focos entre dos dialogos modales con dos monitores
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Saltos de focos entre dos dialogos modales con dos monitores
Posted: Fri Sep 13, 2013 05:42 PM
Antonio
Me ha sucedi贸 algo curioso hoy, ya que estoy mostrando a un cliente un programa que estoy desarrollando y en un modulo especifico en el cual hace un recorrido en una tabla y muestra en un dialogo modal un campo especifico de la tabla (mas que todo para que el usuario no desespere).
sucede que el foco del dialogo modal empieza a cambiar entre el dialogo padre y el hijo, altern谩ndose continuamente.

ademas ocurre como que la posici贸n de dialogo hijo se desplazara hacia abajo y luego retorna a su posici贸n original
esto se mira refeo.

esto no sucede en ninguna de mis pc, la 煤nica variante entre mis pc y la que presento el incidente es que esta usa dos monitores.
es mas para salir de duda, apago el monitor secundario, reinicie la pc, ejecuto mi programa y no sucede.

enciendo el monitor secundario, reinicio la pc y ejecuto el programa y regresa el efecto.

en otras palabras esto solo sucede con pc con dos monitores.
adjunto el c贸digo, en el procedimiento "Sincronizar_EnviarDatos()" proceso 14 tablas, y solamente en tres de ellas muestro info segun recorro los registros de la tablas
DOCUMENTOS; CONCESIONESDOC y MAPAS (esto por que toma bastante tiempo ya que don documentos pdf escaneados)
solamente en estos tres pedazos de codigo ocurre los saltos.
lo 煤nico diferente con las restantes tablas es que uso un esto

Code (fw): Select all Collapse
聽 聽 聽 DO WHILE !MAPA->( Eof() )
聽 聽 聽 聽 聽oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[MAPAS]" + FINL + AllTrim( MAPA->NOMBRE ) ) //esta linea


Code (fw): Select all Collapse
/*-------------------------------------------------------------------------------------------------*/

PROCEDURE Sincronizar()
聽 聽PRIVATE oDlgS, oBtn1, oBtn2, oBtn3, oSayI
聽 聽PRIVATE oServer

聽 聽oServer := TMyServer():New()

聽 聽DEFINE DIALOG oDlgS NAME "DLG_SINCRONIZAR" OF oMainD ICON GetIcon() FONT oFontD

聽 聽REDEFINE BTNBMP oBtn1 ;
聽 聽 聽 ID 101 OF oDlgS ;
聽 聽 聽 NAME "BM_SINCRO" ;
聽 聽 聽 ACTION Sincronizar_Menu() ;
聽 聽 聽 2007

聽 聽REDEFINE BTNBMP oBtn2 ;
聽 聽 聽 ID 102 OF oDlgS ;
聽 聽 聽 NAME "BM_CONFIG" ;
聽 聽 聽 ACTION Sincronizar_Configuracion() ;
聽 聽 聽 2007

聽 聽REDEFINE SAY oSayI ;
聽 聽 聽 PROMPT TC( IDS_SELECT ) ;
聽 聽 聽 ID 103 OF oDlgS ;
聽 聽 聽 COLOR CLR_YELLOW, CLR_BLUE

聽 聽REDEFINE BUTTON oBtn3 ;
聽 聽 聽 ID 201 OF oDlgS ;
聽 聽 聽 ACTION oDlgS:END()

聽 聽ACTIVATE DIALOG oDlgS VALID ( oServer:CloseFile(), TRUE )

RETURN

/*-------------------------------------------------------------------------------------------------*/

PROCEDURE Sincronizar_Menu()
聽 聽LOCAL oMenu

聽 聽aRect := GetClientRect( oBtn1:hWnd )

聽 聽MENU oMenu POPUP 2007
聽 聽 聽 MENUITEM TC( IDS_SYNC_MENU_1 ) ACTION Sincronizar_Estacion()
聽 聽 聽 MENUITEM TC( IDS_SYNC_MENU_2 ) ACTION Sincronizar_Servidor() WHEN lAdmin
聽 聽ENDMENU

聽 聽ACTIVATE POPUP oMenu At aRect[ 3 ] + 1, aRect[ 2 ] OF oBtn1

RETURN

/*-------------------------------------------------------------------------------------------------*/

FUNCTION Sincronizar_Servidor()
聽 聽PRIVATE oConexion, cConexion

聽 聽oServer:LoadFromFile()

聽 聽IF !oServer:ValidInfo()
聽 聽 聽 MsgAlert( TC( IDS_SYNC_VALIDATE_CONFIGURATION_FAIL ) )
聽 聽 聽 RETURN
聽 聽ENDIF

聽 聽AEval( { oBtn1, oBtn2, oBtn3 }, {|o| o:Disable() } )

聽 聽cConexion := oServer:GetStringConnection()

聽 聽MsgRun( TC( IDS_SYNC_CONNECTING ), "MYEMPRESA" 聽 聽 聽, ;
聽 聽 聽 聽 聽 聽{|| CursorWait() 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 , ;
聽 聽 聽 聽 聽 聽 聽 聽oConexion := AdoConexion( cConexion ), ;
聽 聽 聽 聽 聽 聽 聽 聽CursorArrow() 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽, ;
聽 聽 聽 聽 聽 聽 聽 聽SysRefresh() 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 } )

聽 聽DO CASE
聽 聽CASE HB_IsNil( oConexion )
聽 聽 聽 MsgAlert( TC( IDS_SYNC_CONNECTING_ERROR ) )
聽 聽CASE HB_IsObject( oConexion )
聽 聽 聽 IF Sincronizar_ValidarTablas()
聽 聽 聽 聽 聽Sincronizar_EnviarDatos()
聽 聽 聽 ENDIF
聽 聽 聽 oConexion:Close()
聽 聽ENDCASE

聽 聽AEval( { oBtn1, oBtn2, oBtn3 }, {|o| o:Enable() } )

RETURN

/*-------------------------------------------------------------------------------------------------*/

PROCEDURE Sincronizar_EnviarDatos()
聽 聽LOCAL lOk
聽 聽LOCAL oRS
聽 聽LOCAL cTime
聽 聽LOCAL oError, cText

聽 聽IF !( oConexion:State = adStateOpen )
聽 聽 聽 RETURN FALSE
聽 聽ENDIF

聽 聽lOk := TRUE

聽 聽TRY
聽 聽 聽 WITH OBJECT ( oRS := TOleAuto():New( "ADODB.RecordSet" ) )
聽 聽 聽 聽 聽:CursorLocation 聽 := adUseServer
聽 聽 聽 聽 聽:CursorType 聽 聽 聽 := adOpenDynamic
聽 聽 聽 聽 聽:LockType 聽 聽 聽 聽 := adLockOptimistic
聽 聽 聽 聽 聽:ActiveConnection := oConexion
聽 聽 聽 END
聽 聽CATCH oError
聽 聽 聽 lOk := FALSE
聽 聽 聽 ShowAdoError( oConexion, oError )
聽 聽END

聽 聽IF !lOk
聽 聽 聽 RETURN lOk
聽 聽ENDIF

聽 聽cTime := Time()

聽 聽TRY
聽 聽 聽 oConexion:BeginTrans()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 1,"Enviando tabla: COMARCAS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM COMARCAS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[COMARCAS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "COMA"
聽 聽 聽 COMA->( DBGoTop() )
聽 聽 聽 DO WHILE !COMA->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_DEPA" ):Value := COMA->NUM_DEPA
聽 聽 聽 聽 聽oRS:Fields( "NUM_MUNI" ):Value := COMA->NUM_MUNI
聽 聽 聽 聽 聽oRS:Fields( "NUM_COMA" ):Value := COMA->NUM_COMA
聽 聽 聽 聽 聽oRS:Fields( "NOM_COMA" ):Value := COMA->NOM_COMA
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽COMA->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 2, "Enviando tabla: CONCESIONES"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM CONCESIONES WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[CONCESIONES]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "CONC"
聽 聽 聽 CONC->( DBGoTop() )
聽 聽 聽 DO WHILE !CONC->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_EMPR" 聽 ):Value := CONC->NUM_EMPR
聽 聽 聽 聽 聽oRS:Fields( "NUM_CONC" 聽 ):Value := CONC->NUM_CONC
聽 聽 聽 聽 聽oRS:Fields( "NOM_CONC" 聽 ):Value := CONC->NOM_CONC
聽 聽 聽 聽 聽oRS:Fields( "ACUERDO" 聽 聽):Value := CONC->ACUERDO
聽 聽 聽 聽 聽oRS:Fields( "NUM_DEPA" 聽 ):Value := CONC->NUM_DEPA
聽 聽 聽 聽 聽oRS:Fields( "NUM_MUNI1" 聽):Value := CONC->NUM_MUNI1
聽 聽 聽 聽 聽oRS:Fields( "NUM_MUNI2" 聽):Value := CONC->NUM_MUNI2
聽 聽 聽 聽 聽oRS:Fields( "NUM_MUNI3" 聽):Value := CONC->NUM_MUNI3
聽 聽 聽 聽 聽oRS:Fields( "AREA" 聽 聽 聽 ):Value := CONC->AREA
聽 聽 聽 聽 聽oRS:Fields( "FECHA_SOL" 聽):Value := DateToSQL( CONC->FECHA_SOL )
聽 聽 聽 聽 聽oRS:Fields( "FECHA_VEN" 聽):Value := DateToSQL( CONC->FECHA_VEN )
聽 聽 聽 聽 聽oRS:Fields( "ULTIMO_AER" ):Value := CONC->ULTIMO_AER
聽 聽 聽 聽 聽oRS:Fields( "NOTA" 聽 聽 聽 ):Value := CONC->NOTA
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽CONC->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 3, "Enviando tabla: CONCESIONESDOC"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM CONCESIONESDOC WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[CONCESIONES DOC]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "COND"
聽 聽 聽 COND->( DBGoTop() )
聽 聽 聽 DO WHILE !COND->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[CONCESIONES DOC]" + FINL + AllTrim( COND->NOMBRE ) )
聽 聽 聽 聽 聽oRS:Fields( "NUM_CONC" 聽 聽):Value := COND->NUM_CONC
聽 聽 聽 聽 聽oRS:Fields( "NOMBRE" 聽 聽 聽):Value := COND->NOMBRE
聽 聽 聽 聽 聽oRS:Fields( "DESCRIPCION" ):Value := COND->DESCRIPCION
聽 聽 聽 聽 聽oRS:Fields( "DOCUMENTO" 聽 ):Value := HB_UUEncode( COND->DOCUMENTO, Len( COND->DOCUMENTO ) )
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽SysRefresh()
聽 聽 聽 聽 聽CursorWait()
聽 聽 聽 聽 聽COND->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 4, "Enviando tabla: CONTROL"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM CONTROL WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[CONTROL]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "CTRL"
聽 聽 聽 CTRL->( DBGoTop() )
聽 聽 聽 DO WHILE !CTRL->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "CONT_TIPO" 聽):Value := CTRL->CONT_TIPO
聽 聽 聽 聽 聽oRS:Fields( "CONT_INSC" 聽):Value := CTRL->CONT_INSC
聽 聽 聽 聽 聽oRS:Fields( "CONT_USUA" 聽):Value := CTRL->CONT_USUA
聽 聽 聽 聽 聽oRS:Fields( "CONT_PROP" 聽):Value := CTRL->CONT_PROP
聽 聽 聽 聽 聽oRS:Fields( "CONT_FINC" 聽):Value := CTRL->CONT_FINC
聽 聽 聽 聽 聽oRS:Fields( "CONT_EMPR" 聽):Value := CTRL->CONT_EMPR
聽 聽 聽 聽 聽oRS:Fields( "CONT_DEPA" 聽):Value := CTRL->CONT_DEPA
聽 聽 聽 聽 聽oRS:Fields( "CONT_MUNI" 聽):Value := CTRL->CONT_MUNI
聽 聽 聽 聽 聽oRS:Fields( "CONT_COMA" 聽):Value := CTRL->CONT_COMA
聽 聽 聽 聽 聽oRS:Fields( "CONT_CONC" 聽):Value := CTRL->CONT_CONC
聽 聽 聽 聽 聽oRS:Fields( "CONT_ROWF" 聽):Value := CTRL->CONT_ROWF
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽CTRL->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 5, "Enviando tabla: DEPARTAMENTOS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM DEPARTAMENTOS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[DEPARTAMENTOS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "DEPA"
聽 聽 聽 DEPA->( DBGoTop() )
聽 聽 聽 DO WHILE !DEPA->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_DEPA" 聽):Value := DEPA->NUM_DEPA
聽 聽 聽 聽 聽oRS:Fields( "NOM_DEPA" 聽):Value := DEPA->NOM_DEPA
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽DEPA->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 6, "Enviando tabla: DOCUMENTOS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM DOCUMENTOS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[DOCUMENTOS]" 聽)
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "DOCU"
聽 聽 聽 DOCU->( DBGoTop() )
聽 聽 聽 DO WHILE !DOCU->( Eof() )
聽 聽 聽 聽 聽oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[DOCUMENTOS: " + Transform( DOCU->( RecNo() ), "@R 99999" ) + "]" + FINL + AllTrim( DOCU->NOMBRE ) )
聽 聽 聽 聽 聽cText := HB_UUEncode( DOCU->DOCUMENTO, Len( DOCU->DOCUMENTO ) )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_ROWF" 聽 聽):Value := DOCU->NUM_ROWF
聽 聽 聽 聽 聽oRS:Fields( "NUM_FINCA" 聽 ):Value := DOCU->NUM_FINCA
聽 聽 聽 聽 聽oRS:Fields( "TIPO" 聽 聽 聽 聽):Value := DOCU->TIPO
聽 聽 聽 聽 聽oRS:Fields( "NOMBRE" 聽 聽 聽):Value := DOCU->NOMBRE
聽 聽 聽 聽 聽oRS:Fields( "DESCRIPCION" ):Value := DOCU->DESCRIPCION
聽 聽 聽 聽 聽oRS:Fields( "DOCUMENTO" 聽 ):Value := IIf( Len( cText )<50, "", cText )
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽SysRefresh()
聽 聽 聽 聽 聽CursorWait()
聽 聽 聽 聽 聽DOCU->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 7, "Enviando tabla: EMPRESAS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM EMPRESAS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[EMPRESAS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "EMPR"
聽 聽 聽 EMPR->( DBGoTop() )
聽 聽 聽 DO WHILE !EMPR->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_EMPR" ):Value := EMPR->NUM_EMPR
聽 聽 聽 聽 聽oRS:Fields( "NOM_EMPR" ):Value := EMPR->NOM_EMPR
聽 聽 聽 聽 聽oRS:Fields( "DIR_EMPR" ):Value := EMPR->DIR_EMPR
聽 聽 聽 聽 聽oRS:Fields( "TEL_EMPR" ):Value := EMPR->TEL_EMPR
聽 聽 聽 聽 聽oRS:Fields( "REP_EMPR" ):Value := EMPR->REP_EMPR
聽 聽 聽 聽 聽oRS:Fields( "RUC_EMPR" ):Value := EMPR->RUC_EMPR
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽EMPR->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 8, "Enviando tabla: MAPAS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM MAPAS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[MAPAS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "MAPA"
聽 聽 聽 MAPA->( DBGoTop() )
聽 聽 聽 DO WHILE !MAPA->( Eof() )
聽 聽 聽 聽 聽oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[MAPAS]" + FINL + AllTrim( MAPA->NOMBRE ) )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_EMPR" 聽 聽):Value := MAPA->NUM_EMPR
聽 聽 聽 聽 聽oRS:Fields( "NOMBRE" 聽 聽 聽):Value := MAPA->NOMBRE
聽 聽 聽 聽 聽oRS:Fields( "DESCRIPCION" ):Value := MAPA->DESCRIPCION
聽 聽 聽 聽 聽oRS:Fields( "DOCUMENTO" 聽 ):Value := HB_UUEncode( MAPA->DOCUMENTO, Len( MAPA->DOCUMENTO ) )
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽SysRefresh()
聽 聽 聽 聽 聽CursorWait()
聽 聽 聽 聽 聽MAPA->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 9, "Enviando tabla: MUNICIPIOS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM MUNICIPIOS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[MUNICIPIOS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "MUNI"
聽 聽 聽 MUNI->( DBGoTop() )
聽 聽 聽 DO WHILE !MUNI->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_DEPA" ):Value := MUNI->NUM_DEPA
聽 聽 聽 聽 聽oRS:Fields( "NUM_MUNI" ):Value := MUNI->NUM_MUNI
聽 聽 聽 聽 聽oRS:Fields( "NOM_MUNI" ):Value := MUNI->NOM_MUNI
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽MUNI->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 10, "Enviando tabla: FINCAS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM FINCAS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[FINCAS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "FINC"
聽 聽 聽 FINC->( DBGoTop() )
聽 聽 聽 DO WHILE !FINC->( Eof() )
聽 聽 聽 聽 聽#IFDEF __VIEW_DEBUG__
聽 聽 聽 聽 聽???FINC->NUM_ROWF
聽 聽 聽 聽 聽#ENDIF
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_FINCA" 聽 ):Value := FINC->NUM_FINCA
聽 聽 聽 聽 聽oRS:Fields( "NUM_ROWF" 聽 聽):Value := FINC->NUM_ROWF
聽 聽 聽 聽 聽oRS:Fields( "NUM_FINCA" 聽 ):Value := FINC->NUM_FINCA
聽 聽 聽 聽 聽oRS:Fields( "ESC_ANTER" 聽 ):Value := FINC->ESC_ANTER
聽 聽 聽 聽 聽oRS:Fields( "ESC_ANTEC" 聽 ):Value := FINC->ESC_ANTEC
聽 聽 聽 聽 聽oRS:Fields( "ESC_ACTUA" 聽 ):Value := FINC->ESC_ACTUA
聽 聽 聽 聽 聽oRS:Fields( "TOM_ANTER" 聽 ):Value := FINC->TOM_ANTER
聽 聽 聽 聽 聽oRS:Fields( "TOM_ANTEC" 聽 ):Value := FINC->TOM_ANTEC
聽 聽 聽 聽 聽oRS:Fields( "TOM_ACTUA" 聽 ):Value := FINC->TOM_ACTUA
聽 聽 聽 聽 聽oRS:Fields( "FOL_ANTER" 聽 ):Value := FINC->FOL_ANTER
聽 聽 聽 聽 聽oRS:Fields( "FOL_ANTEC" 聽 ):Value := FINC->FOL_ANTEC
聽 聽 聽 聽 聽oRS:Fields( "FOL_ACTUA" 聽 ):Value := FINC->FOL_ACTUA
聽 聽 聽 聽 聽oRS:Fields( "ASI_ANTER" 聽 ):Value := FINC->ASI_ANTER
聽 聽 聽 聽 聽oRS:Fields( "ASI_ANTEC" 聽 ):Value := FINC->ASI_ANTEC
聽 聽 聽 聽 聽oRS:Fields( "ASI_ACTUA" 聽 ):Value := FINC->ASI_ACTUA
聽 聽 聽 聽 聽oRS:Fields( "AREA_ESCALA" ):Value := FINC->AREA_ESCALA
聽 聽 聽 聽 聽oRS:Fields( "AREA_FISICA" ):Value := FINC->AREA_FISICA
聽 聽 聽 聽 聽oRS:Fields( "AREA_DELTA" 聽):Value := FINC->AREA_DELTA
聽 聽 聽 聽 聽oRS:Fields( "TIPO_ESC" 聽 聽):Value := FINC->TIPO_ESC
聽 聽 聽 聽 聽oRS:Fields( "TIPO_INS" 聽 聽):Value := FINC->TIPO_INS
聽 聽 聽 聽 聽oRS:Fields( "GRAVAMEN" 聽 聽):Value := IIf( FINC->GRAVAMEN, 1, 0 )
聽 聽 聽 聽 聽oRS:Fields( "NOTA_GRAV" 聽 ):Value := FINC->NOTA_GRAV
聽 聽 聽 聽 聽oRS:Fields( "NUM_PROP" 聽 聽):Value := FINC->NUM_PROP
聽 聽 聽 聽 聽oRS:Fields( "PROP_ANTE" 聽 ):Value := FINC->PROP_ANTE
聽 聽 聽 聽 聽oRS:Fields( "UBICACION" 聽 ):Value := FINC->UBICACION
聽 聽 聽 聽 聽oRS:Fields( "LINDERO_N" 聽 ):Value := FINC->LINDERO_N
聽 聽 聽 聽 聽oRS:Fields( "LINDERO_S" 聽 ):Value := FINC->LINDERO_S
聽 聽 聽 聽 聽oRS:Fields( "LINDERO_E" 聽 ):Value := FINC->LINDERO_E
聽 聽 聽 聽 聽oRS:Fields( "LINDERO_O" 聽 ):Value := FINC->LINDERO_O
聽 聽 聽 聽 聽oRS:Fields( "NUM_DEPA" 聽 聽):Value := FINC->NUM_DEPA
聽 聽 聽 聽 聽oRS:Fields( "NUM_MUNI" 聽 聽):Value := FINC->NUM_MUNI
聽 聽 聽 聽 聽oRS:Fields( "NUM_COMA" 聽 聽):Value := FINC->NUM_COMA
聽 聽 聽 聽 聽oRS:Fields( "FECHA_ADQ" 聽 ):Value := DateToSQL( FINC->FECHA_ADQ )
聽 聽 聽 聽 聽oRS:Fields( "FECHA_INS" 聽 ):Value := DateToSQL( FINC->FECHA_INS )
聽 聽 聽 聽 聽oRS:Fields( "NUM_EMPR" 聽 聽):Value := FINC->NUM_EMPR
聽 聽 聽 聽 聽oRS:Fields( "NUM_LOTE" 聽 聽):Value := FINC->NUM_LOTE
聽 聽 聽 聽 聽oRS:Fields( "NUM_CATA" 聽 聽):Value := FINC->NUM_CATA
聽 聽 聽 聽 聽oRS:Fields( "TIPOPROP" 聽 聽):Value := FINC->TIPOPROP
聽 聽 聽 聽 聽oRS:Fields( "NOTA" 聽 聽 聽 聽):Value := FINC->NOTA
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽FINC->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 11, "Enviando tabla: PROPIETARIOS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM PROPIETARIOS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[PROPIETARIOS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "PROP"
聽 聽 聽 PROP->( DBGoTop() )
聽 聽 聽 DO WHILE !PROP->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_PROP" 聽 聽 ):Value := PROP->NUM_PROP
聽 聽 聽 聽 聽oRS:Fields( "NOMBRE" 聽 聽 聽 ):Value := PROP->NOMBRE
聽 聽 聽 聽 聽oRS:Fields( "CEDULA" 聽 聽 聽 ):Value := PROP->CEDULA
聽 聽 聽 聽 聽oRS:Fields( "DOMICILIO" 聽 聽):Value := PROP->DOMICILIO
聽 聽 聽 聽 聽oRS:Fields( "TELEFONO1" 聽 聽):Value := PROP->TELEFONO1
聽 聽 聽 聽 聽oRS:Fields( "TELEFONO2" 聽 聽):Value := PROP->TELEFONO2
聽 聽 聽 聽 聽oRS:Fields( "FECHA_NAC" 聽 聽):Value := DateToSQL( PROP->FECHA_NAC )
聽 聽 聽 聽 聽oRS:Fields( "SEXO" 聽 聽 聽 聽 ):Value := PROP->SEXO
聽 聽 聽 聽 聽oRS:Fields( "NACIONALIDAD" ):Value := PROP->NACIONALIDAD
聽 聽 聽 聽 聽oRS:Fields( "TIPO" 聽 聽 聽 聽 ):Value := PROP->TIPO
聽 聽 聽 聽 聽oRS:Fields( "NOTA" 聽 聽 聽 聽 ):Value := PROP->NOTA
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽PROP->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 12, "Enviando tabla: TIPOS_ESCRITURAS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM TIPOS_ESCRITURAS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[TIPOS DE ESCRITURAS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "TIPO"
聽 聽 聽 TIPO->( DBGoTop() )
聽 聽 聽 DO WHILE !TIPO->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "TIPO_ESC" 聽 聽):Value := TIPO->TIPO_ESC
聽 聽 聽 聽 聽oRS:Fields( "DESCRIPCION" ):Value := TIPO->DESCRIPCION
聽 聽 聽 聽 聽oRS:Fields( "NOTA" 聽 聽 聽 聽):Value := TIPO->NOTA
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽TIPO->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 13, "Enviando tabla: TIPOS_INSCRIPCIONES"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM TIPOS_INSCRIPCIONES WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[TIPOS DE ESCRITURAS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "INSC"
聽 聽 聽 INSC->( DBGoTop() )
聽 聽 聽 DO WHILE !INSC->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "TIPO_INS" 聽 聽):Value := INSC->TIPO_INS
聽 聽 聽 聽 聽oRS:Fields( "DESCRIPCION" ):Value := INSC->DESCRIPCION
聽 聽 聽 聽 聽oRS:Fields( "NOTA" 聽 聽 聽 聽):Value := INSC->NOTA
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽INSC->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/
聽 聽 聽 #IFDEF __VIEW_DEBUG__
聽 聽 聽 ??? 14, "Enviando tabla: USUARIOS"
聽 聽 聽 #endif
聽 聽 聽 oRS:open( "SELECT * FROM USUARIOS WHERE 1=2" )
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[USUARIOS]" )
聽 聽 聽 CursorWait()
聽 聽 聽 SELECT "USUA"
聽 聽 聽 USUA->( DBGoTop() )
聽 聽 聽 DO WHILE !USUA->( Eof() )
聽 聽 聽 聽 聽oRS:AddNew()
聽 聽 聽 聽 聽oRS:Fields( "NUM_USUA" 聽 ):Value := USUA->NUM_USUA
聽 聽 聽 聽 聽oRS:Fields( "NUM_EMPR" 聽 ):Value := USUA->NUM_EMPR
聽 聽 聽 聽 聽oRS:Fields( "NOMBRE" 聽 聽 ):Value := USUA->NOMBRE
聽 聽 聽 聽 聽oRS:Fields( "APODO" 聽 聽 聽):Value := USUA->APODO
聽 聽 聽 聽 聽oRS:Fields( "CONTRASENA" ):Value := USUA->CONTRASENA
聽 聽 聽 聽 聽oRS:Fields( "TIPO" 聽 聽 聽 ):Value := USUA->TIPO
聽 聽 聽 聽 聽oRS:Fields( "BLOQUEADO" 聽):Value := IIf( USUA->BLOQUEADO, 1, 0 )
聽 聽 聽 聽 聽oRS:Fields( "NOTA" 聽 聽 聽 ):Value := USUA->NOTA
聽 聽 聽 聽 聽oRS:Update()
聽 聽 聽 聽 聽USUA->( DBSkip() )
聽 聽 聽 ENDDO
聽 聽 聽 SysRefresh()
聽 聽 聽 oRS:Close()

聽 聽 聽 /*=======================================*/

聽 聽 聽 oConexion:CommitTrans()

聽 聽CATCH oError
聽 聽 聽 lOk := FALSE
聽 聽 聽 oConexion:RollBackTrans()
聽 聽 聽 ShowAdoError( oConexion, oError )
聽 聽END

聽 聽CursorArrow()
聽 聽MsgBeep()

聽 聽IF lOk
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_REMOTE_OK 聽 ) )
聽 聽ELSE
聽 聽 聽 oSayI:SetText( TC( IDS_SYNC_UPDATING_REMOTE_FAIL ) )
聽 聽ENDIF

聽 聽LimpiarAreas()

聽 聽MsgInfo( TC( IDS_SYNC_TIME_USED ) + ElapTime( cTime, Time() ) )

RETURN lOk

salu2
carlos
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Saltos de focos entre dos dialogos modales con dos monitores
Posted: Fri Sep 13, 2013 05:58 PM

Carlos,

Este texto:

oSayI:SetText( TC( IDS_SYNC_UPDATING_TABLES ) + "[MAPAS]" + FINL + AllTrim( MAPA->NOMBRE ) )

cabe en el di谩logo ?

Lo primero que se me ocurre es que al usar dos monitores alguna medida de ancho de la pantalla devuelva un valor err贸neo.

Si comentas esa l铆nea, ya no se produce ningun efecto ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Saltos de focos entre dos dialogos modales con dos monitores
Posted: Fri Sep 13, 2013 06:04 PM

Carlos,

En el M茅todo SetText() de la Clase TSay se hacen algunas cosas m谩s adem谩s de cambiar el texto. Por favor prueba lo siguiente:

  1. Elimina el m茅todo SetText() de la Clase TSay y comprueba si desaparece el efecto, gracias

  2. Candidatos a lo que ocurre pudieran ser las llamadas: DrawPBack() y/o GetTextWidth()

Prueba a eliminar cada una de esas por separado, gracias :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Saltos de focos entre dos dialogos modales con dos monitores
Posted: Fri Sep 13, 2013 06:55 PM

El say es un recuadro en el cual caben 4 lineas, el texto es desplegado bien.

realizare las pruebas cuando llege a casa, y te comentare los resultados.

salu2
carlos vargas

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Saltos de focos entre dos dialogos modales con dos monitores
Posted: Fri Sep 13, 2013 06:57 PM

tratare de hacer un video, creo que usando la laptop y un monitor adicional duplicare el entorno.
antes y despues de los cambios.

salu2
carlos vargas

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Saltos de focos entre dos dialogos modales con dos monitores
Posted: Sat Sep 14, 2013 12:17 PM

Carlos,

gracias por hacer las pruebas :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion