Noshow not working


#1

i just tried noshow in a proc before a long loop to see if it would speed it up.
it made no difference in the time required to run the proc, which isn’t surprising since it seemed to have no effect at all.
the loop includes a formulafill and i could see the values show up with every iteration of the loop.


#2

I ran a test on a sample file I have with 74 entries in the Name field. The test uses a for loop set to 100 itinerations. Each loop uses a formulafill to first set all the cells to “” and then follows by setting them back to their original values using the contents of an array first created with an arraybuild(. Here is the code I used:

local theContents, runtime
startdatabasechange "ALLRECORDS","Reload Names"
theContents=arraybuild(¶,"",{Name})
field Name
runtime=info("tickcount")
// noshow
    for i,1,100
        formulafill ""
        formulafill array(theContents,seq(),¶)
    endloop
    // showpage
// endnoshow
message info("tickcount")-runtime

With the noshow/showpage/endnoshow lines commented out the procedure returned an execution tick count of 1035 while flashing in the datasheet with each pass through. With these lines uncommented and active it took only 133 tick counts and did not display anything changing in the datasheet while it was running. I don’t know why this is not working in your case since I have used this extensively in the past and it always made a big difference in speed.


#3

looks like you saved yourself 15!

i’m not making light of noshow’s utility. i just wish the hell it would work for me.
my proc took five and a half minutes!

thanks for commenting, gary.


#4

Since you haven’t shared your code there’s really nothing further anyone can do to assist you. The noshow statement definitely works, so probably some change is needed in your code.