FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour OSay:refresh no funciona
Posts: 131
Joined: Tue Dec 26, 2006 04:50 PM
OSay:refresh no funciona
Posted: Fri Jul 23, 2010 02:51 PM
Estimados amigos del foro, tengo un problemita, en el c贸digo adjunto no me hace el refresh de los says, es curioso, pero si compilo con la versi贸n 2.6 el mismo c贸digo si funciona, pero si compilo en versi贸n 6.12 (la de acceso sin costo) no los despliega.

Intent茅 verificar que estuviera actualizando las variables, dentro de la clausula "ON CHANGE" puse un msgalert(var1+var2+var3,var4) y como debe ser cada que hago un cambio de registro me aparece una ventanita con los datos de las variables que si se actualizan, sin embargo los says aparecen an blanco y no cambian.

Tambien intent茅 con la opci贸n oSay12sv:SetText(rece), pero sin obtener un resultado exitoso.

Alguien tendr谩 alguna idea del porque?

Gracias y saludos.

Code (fw): Select all Collapse
Function procsurv
聽 聽close all
聽 聽Public oFont1
聽 聽public tidh, fesh, resh, mysh, pesh, tesh, qush, cash, prsh, cosh, repos, conts
聽 聽Public enre := space(20)
聽 聽public tregsrs
聽 聽Public vProm := 0
聽 聽public oSay1sv, oSay2sv, oSay3sv, oSay4sv, oSay5sv, oSay6sv, oSay7sv, oSay8sv, oSay9sv, oSay10sv, oSay11sv, oSay12sv
聽 聽Public colus := 1
聽 聽define font oFont1 聽name "TIMES NEW ROMAN" size 0,-16 bold
聽 聽do case
聽 聽case cComm="ELECTRONICOS"
聽 聽 聽 leye="Espera. Integrando informaci贸n de clientes a encuestar del 谩rea de electr贸nicos"
聽 聽 聽 leye1="谩rea de electr贸nicos"
聽 聽case cComm="SELLADORAS"
聽 聽 聽 leye="Espera. Integrando informaci贸n de clientes a encuestar del 谩rea de selladoras"
聽 聽 聽 leye1="谩rea de selladoras"
聽 聽otherwise
聽 聽 聽 cCommes=substr(cComm,1,4)
聽 聽 聽 leye="Espera. Integrando informaci贸n de clientes a encuestar del commodity "+cCommes
聽 聽 聽 leye1="commodity "+cCommes
聽 聽endcase
聽 聽cursorwait()
聽 聽MsgRun( leye, "Encuesta de satisfacci贸n de clientes",{ | oDlg | gensurv( oDlg ) } )
聽 聽if tregsrs>0
聽 聽 聽 cicsur="S"
聽 聽 聽 do while cicsur="S"
聽 聽 聽 聽 聽close all
聽 聽 聽 聽 聽use &dbtmp6 shared new alias hists
聽 聽 聽 聽 聽index on cliysub to &dbidx1
聽 聽 聽 聽 聽use &dbcust shared new alias clientes
聽 聽 聽 聽 聽index on cliysub to &dbidx2
聽 聽 聽 聽 聽use &dbtmp2 shared new alias reportes
聽 聽 聽 聽 聽count to tcxe
聽 聽 聽 聽 聽index on report_no+continue+str(cliysub) to &dbidx3
聽 聽 聽 聽 聽define dialog oDialsv resource "DLGVERDB6" of oVentprinc title "Encuesta de satisfacci贸n de clientes"
聽 聽 聽 聽 聽redefine say oSay1sv prompt "Existen "+alltrim(str(tcxe))+" clientes a encuestar del "+leye1 id 0 of oDialsv
聽 聽 聽 聽 聽redefine listbox oLbx1sv FIELDS IIF(clientes->(dbseek(reportes->cliysub)),clientes->razoncom,"Ubicaci贸n no especificada"),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 reportes->report_no+"-"+reportes->continue,reportes->model,reportes->serial_no,dtoc(reportes->date),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 reportes->caller,reportes->call_tele, reportes->report_no+"-"+reportes->continue, reportes->tech_id,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 reportes->svc_plan,reportes->m_lbr_act,reportes->complaint, dtoc(reportes->call_date),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),clientes->razonsoc,"Cliente no encontrado"),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),clientes->dir1b,"Direcci贸n no especificada"),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),clientes->dir2b," "),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),clientes->dir3b," "),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),clientes->dir5b," "),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),str(clientes->dir4b)," "),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),clientes->conta2," "),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),clientes->telef2," "),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),clientes->exten2," "),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 IIF(clientes->(dbseek(reportes->cliysub)),clientes->email2," ");
聽 聽 聽 聽 聽 聽 聽 聽 聽 ID 1 of oDialsv alias "reportes";
聽 聽 聽 聽 聽 聽 聽 聽 聽 headers "Ubicaci贸n","Reporte","Modelo","Serie","Atenci贸n","Reportado por","Telefono","Reporte","T茅cnico",;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "Plan","Actividad","Falla reportada","Fecha de llamada","Razon social",;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "Direcci贸n (Calle y No.)","Colonia","Municipio","Estado","C.P.","Contacto principal",;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "Telefono","Extensi贸n","e-mail" on change;
聽 聽 聽 聽 聽 聽 聽 聽 聽 ((IIF(hists->(dbseek(reportes->cliysub)),(fesh:=dtoc(hists->fechenc),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 resh:=hists->report_no,mysh:=hists->model+" / "+hists->serial_no,tidh:=hists->tech_id,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 pesh:=hists->mstr_oper,tesh:=hists->telephone,qush:=hists->quien,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 cash:=str(hists->r01)+" 聽"+str(hists->r02)+" 聽"+str(hists->r03)+" 聽"+str(hists->r04);
聽 聽 聽 聽 聽 聽 聽 聽 聽 +" 聽"+str(hists->r05)+" 聽"+str(hists->r06)+" 聽"+str(hists->r07)+" 聽"+str(hists->r08);
聽 聽 聽 聽 聽 聽 聽 聽 聽 +" 聽"+str(hists->r09)+" 聽"+str(hists->r10),prsh:= str(hists->r_avg),cosh:=hists->observa,vProm:=hists->r_avg,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 iif(vProm>4,oSay10sv:Setcolor(CLR_GREEN,oSay10sv:nClrPane),oSay10sv:Setcolor(CLR_HRED,oSay10sv:nClrPane))),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 (fesh:=" ",resh:=" ",mysh:=" ",tidh:=" ",pesh:=" ",tesh:=" ",qush:=" ",;
聽 聽 聽 聽 聽 聽 聽 聽 聽 cash:=" ",prsh:=" ",cosh:=" ",vProm:=0))))
聽 聽 聽 聽 聽 聽 聽 聽 聽 oDialsv:update()
聽 聽 聽 聽 聽redefine say oSay2sv prompt fesh ID 13 of oDialsv update
聽 聽 聽 聽 聽redefine say oSay3sv prompt resh ID 14 of oDialsv update
聽 聽 聽 聽 聽redefine say oSay4sv prompt mysh ID 15 of oDialsv update
聽 聽 聽 聽 聽redefine say oSay5sv prompt tidh ID 16 of oDialsv update
聽 聽 聽 聽 聽redefine say oSay6sv prompt pesh ID 17 of oDialsv update
聽 聽 聽 聽 聽redefine say oSay7sv prompt tesh ID 18 of oDialsv update
聽 聽 聽 聽 聽redefine say oSay8sv prompt qush ID 19 of oDialsv update
聽 聽 聽 聽 聽redefine say oSay9sv prompt cash ID 20 of oDialsv update
聽 聽 聽 聽 聽redefine say oSay10sv prompt prsh ID 21 of oDialsv font ofont1 update
聽 聽 聽 聽 聽redefine say oSay11sv prompt cosh ID 22 of oDialsv update
聽 聽 聽 聽 聽redefine say oSay12sv prompt enre ID 25 of oDialsv update
聽 聽 聽 聽 聽redefine button oBtn1sv ID 23 of oDialsv action(oDialsv:end(),repos:=report_no,conts:=continue,encuesta())
聽 聽 聽 聽 聽redefine button oBtn2sv ID 24 of oDialsv action (oDialsv:end(),cicsur:="N")
聽 聽 聽 聽 聽activate dialog oDialsv center
聽 聽 聽 enddo
聽 聽endif
聽 聽ofont1:end()
return
Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
Re: OSay:refresh no funciona
Posted: Fri Jul 23, 2010 04:55 PM

Mariordz

El unico Say que quieres refrescar es "oSay1sv" que no tiene la clausula UPDATE. En la parte donde indicas refrescar no lo mencionas. Revisa tus objeto y variables.

Armando

FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicaci贸n via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
Posts: 131
Joined: Tue Dec 26, 2006 04:50 PM
Re: OSay:refresh no funciona
Posted: Tue Jul 27, 2010 05:25 PM

Armando, deseo hacer un refresh de casi todos los says, el oSay1sv no tiene la clausula update porque ese es un valor constante, pero los demas "say's" si se deben modificar a cada cambio en el registro del browse. Por el momento he vuelto a compilar con la versi贸n 2.6 que no me presenta problema, como lo dije anteriormente, no tengo que cambiar nada del c贸digo, si compilo con la versi贸n 2.6 funciona, con la 6.12 no.

Raro, pero cierto.

Saludos.

Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
Re: OSay:refresh no funciona
Posted: Tue Jul 27, 2010 11:22 PM
Algunas veces me paso lo mismo cuando salte de mi viejo 2.4 hacia la 7.12. Te explico el porqu茅: como vengo de Clipper, antiguamente utilizaba muchas variables Publicas para recuperar valores en las variables y, por supuesto, eso mismo lo replicaba en fwh lo que me ocasionaba no pocos disgustos. Encontr茅 la soluci贸n definiendo primero las variables y luego las funciones que actualizaban a las variables.

Tomando en cuenta eso; podr铆a ser una soluci贸n si pones primero los Say y despu茅s el Listbox que es donde se toman los nuevos valores. Espero eso sea la soluci贸n como lo fue en mi caso.

Saludos

Armando

mariordz wrote:Armando, deseo hacer un refresh de casi todos los says, el oSay1sv no tiene la clausula update porque ese es un valor constante, pero los demas "say's" si se deben modificar a cada cambio en el registro del browse. Por el momento he vuelto a compilar con la versi贸n 2.6 que no me presenta problema, como lo dije anteriormente, no tengo que cambiar nada del c贸digo, si compilo con la versi贸n 2.6 funciona, con la 6.12 no.

Raro, pero cierto.

Saludos.
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicaci贸n via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Re: OSay:refresh no funciona
Posted: Wed Jul 28, 2010 12:06 AM
Mario,

Asi los he manejado y no he tenido problemas :

Code (fw): Select all Collapse
redefine xbrowse lbPvtDet id 102 of oFldPvExp:adialogs[1] ;
聽 聽 columns 8,1,2,3,4,5 ;
聽 聽 headers ".","NUM. PARTE","DESCRIPCION","UNITARIO","UNS","IMPORTE" ;
聽 聽 colsizes 15,120,300,70,50,80 ;
聽 聽 on change ( ;
聽 聽 聽 聽 aPvtDts[6]:SetText( lbPvtDet:aRow[7] ), ;
聽 聽 聽 聽 aPvtDts[7]:SetText( lbPvtDet:aRow[6] ) ) ;
聽 聽 array { { "","","","","","","",.f.,0,0,"" } } ;
聽 聽 footers ;
聽 聽 font aSysFnts[1] autosort

redefine say aPvtDts[6] id 109 of oFldPvExp:adialogs[1] color CLR_HBLUE
redefine say aPvtDts[7] id 112 of oFldPvExp:adialogs[1] color CLR_HBLUE


Aqui estan con XBrowse, pero les daba el mismo tratamiento con el WBrowse de Hernan, con mismos resultados.


Saludos
FWH 10.6 + xHarbour + Borland 582
Posts: 131
Joined: Tue Dec 26, 2006 04:50 PM
Re: OSay:refresh no funciona
Posted: Wed Jul 28, 2010 02:18 PM

Muchas gracias por sus aportaciones, voy a probarlas y les aviso lo que suceda.

Saludos.

Continue the discussion