//publicfunctionintegerfw_share_dddw//参数:DataWindowadw_parent//stringas_column_name表现形式为dddw列名integerli_cache_idxDataWindowchilddwcstringls_dataobject_name//dddw所使用dataobject的名称ls_dataobject_name=adw_parent.Describe(as_column_name+“.dddw.name” )IFls_dataobject_name=“”THENRETURN0//该dataobject是否存在缓冲区中li_cache_idx=fw_find_dataobject(ls_dataobject_name)IFli_cache_idx$#@60;1THENRETURN0//同子数据窗口共享数据adw_parent.GetChild(as_column_name,dwc)RETURNids_cache[li_cache_idx].ShareData(dwc)
//protectedfunctionintegerfw_find_dataobject//参数:stringas_dataobjectintegerli_cache_idx=1booleanlb_found=FALSEu_dsalds_new_entry//定位dataobject所在的缓冲区DOWHILE(NOTlb_found)and(li_cache_idx$#@60;=ii_cache_size)IFids_cache[li_cache_idx].dataobject=as_dataobjectTHENlb_found=TRUEELSEli_cache_idx++ENDIFLOOP//如果该dataobject不存在与缓冲区中,则创建一个新入口IFNOTlb_foundTHENIFOpenUserObject(lds_new_entry)$#@60;1THENRETURN0ENDIFlds_new_entry.dataobject=as_dataobjectIFlds_new_entry.SetTransObject(i_trans)$#@60;1THENRETURN0ENDIFIFlds_new_entry.Retrieve()$#@60;0THENRETURN0ENDIFii_cache_size++ids_cache[ii_cache_size]=lds_new_entryli_cache_idx=ii_cache_sizeENDIFRETURNli_cache_idx
i_trans=sqlcaitm_last_refresh=Now()//设置起始时间Timer(60)
//publicsubroutinefw_refresh_all()integerli_cache_idx//更新所以缓冲区FORli_cache_idx=1TOii_cache_sizeids_cache[li_cache_idx].Retrieve()NEXT//重新设置更新缓冲区的时间i_tm_last_refresh=Now()
timeltm_current_timeintegerli_cache_idx//当前时间current_time=Now()//考虑过午夜的特殊情况IFltm_current_time$#@60;itm_last_refreshTHENfw_refresh_all()//检测已过的时间间隔ELSEIFRelativeTime(itm_last_refresh,ii_refresh_interval)$#@60;=ltm_current_timeTHENfw_refresh_all()ENDIF
//publicfunctionbooleanfw_refresh_resultset()//参数:DataWindowadw_parent//stringas_column_name数据窗口中为dddw的列名integerli_cache_idxstringls_dataobject_name//dddw所使用dataobject的名称ls_dataobject_name=adw_parent.Describe(as_column_name+“.dddw.name” )IFls_dataobject_name=“”THENRETURNFalse//该dataobject是否存在缓冲区中li_cache_idx=fw_find_dataobject(ls_dataobject_name)IFli_cache_idx$#@60;1THENRETURNFalse//更新缓冲区内的数据ids_cache[li_cache_idx].Retrieve()RETURNTrue
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18