Hi Marvin
pdf < 4m ok?
pdf < 8m ok ?
......
pdf < 40m ok?
.........
we sure easerver 5.2 retrive <38m data [zlib ] ok!
get_fullstate() return blob use zlib
Longlong ll_srclen
string ls_storage
string ls_log
ls_storage = this.object.datawindow.storage
ll_srclen = Long(ls_storage)
if ll_srclen > 38000000 then
ls_log = is_classname + "~t" + String(today(),'yyyy-mm-dd') + ' ' + String(Now(),'hh:mm:ss.fff')+ ' ll_srclen='+string(ll_srclen)
of_log_test('get_fullstate',ls_log)
setNull(arg_dest)
return arg_dest
end if
if this.getfullstate(lblob_src) < 0 then
setNull(arg_dest)
return arg_dest
end if
// allocate buffer space
ll_srclen = Len(lblob_src) ll_destlen = (ll_srclen * 1.01) + 12
// >38m not proc ,
if ll_destlen > 38000000 then
ls_log = is_classname + "~t" + String(today(),'yyyy-mm-dd') + ' ' + String(Now(),'hh:mm:ss.fff')+ ' ll_srclen='+string(ll_srclen)
of_log_test('get_fullstate',ls_log)
setNull(arg_dest)
return arg_dest
end if
//Space(limt) over
lblob_dest = Blob(Space(ll_destlen))
// compress the blob
ll_rc = compress(lblob_dest, ll_destlen, lblob_src, ll_srclen)
CHOOSE CASE ll_rc
CASE 0 arg_dest = BlobMid(lblob_dest, 1, ll_destlen)
END CHOOSE
Return arg_dest