Doug,

 

I believe the short form would be RECALC VAR without the ‘S’.

 

Emmitt Dove

Manager, Converting Applications Development

Evergreen Packaging, Inc.

[email protected]

(203) 214-5683 m

(203) 643-8022 o

(203) 643-8086 f

[email protected]

 

From: [email protected] [mailto:[email protected]] On Behalf Of Doug Hamilton
Sent: Friday, March 27, 2009 9:54 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: RECALC causing all images to blink

 

A small side note that I found out the hard way: spell out VARIABLES when you 
do a RECALC VARIABLES.
RECALC VARS does not work, as I incorrectly assumed.
Doug

Emmitt Dove wrote:



Reading in the HELP system for RECALC:

 

“When you use the RECALC command without any options, RECALC redisplays only 
the variable in the field that started the EEP, and recalculates only 
expressions using that variable. Use the VARIABLES option to force redisplay of 
all variables placed on the form and recalculation of all table expressions. 
Use the TABLES option to force recalculation of expressions in the other tables 
used in a multi-table form. The TABLES option recalculates lower tables only, 
not the current table.”

 

This leaves me unsure about the solution suggested below.  Whether to use 
RECALC or RECALC VARIABLES in your case depends on where the code was triggered 
– was it triggered by the object you want to redisplay?  If so, RECALC should 
only refresh that one object.  If elsewhere, you may be stuck with the flicker.

 

What version of R:BASE are you using?  Generally speaking, flicker problems 
caused by screen redraws were reduced if not eliminated in either later builds 
of 7.5 or early 7.6.  But I can see where a form with several variable images 
could be a problem if every one of them was “refreshed” every time you 
recalculated variables.

 

Emmitt Dove

Manager, Converting Applications Development

Evergreen Packaging, Inc.

[email protected]

(203) 214-5683 m

(203) 643-8022 o

(203) 643-8086 f

[email protected]

 

From: [email protected] [mailto:[email protected]] On Behalf Of Emmitt Dove
Sent: Friday, March 27, 2009 9:13 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: RECALC causing all images to blink

 

Have you tried RECALC VARIABLES instead of just RECALC?  AFAIK, RECALC 
VARIABLES will not cause the entire screen to refresh.

 

Just on a whim, assign a component ID to one of the images, and try this:

 

Change the variable behind the image

Do a RECALC VARIABLES

Now do PROPERTY [componentid] REFRESH ‘TRUE’

 

The idea is to refresh just the one image.

 

 

Emmitt Dove

Manager, Converting Applications Development

Evergreen Packaging, Inc.

[email protected]

(203) 214-5683 m

(203) 643-8022 o

(203) 643-8086 f

[email protected]

 

From: [email protected] [mailto:[email protected]] On Behalf Of Michael J. 
Sinclair, MD
Sent: Thursday, March 26, 2009 8:47 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: RECALC causing all images to blink

 

Ok, I guess for the moment, I don't have any options. I asked for the "Object 
Specific Recalc" enhancement, but I am a mere user. Do you think it would be a 
good idea to request your version of the enhancement, ie a "Redraw = True or 
False" Property? My programming is working very well so far except for all of 
the objects blinking a lot, so I want to keep going with it. I could request 
another enahancement, but I don't want to ask for too much.

Mike

-------------- Original message from Lawrence Lustig  
<mailto:[email protected]> <[email protected]>: -------------- 

<< 

The Variable Image Object does NOT change after the EEP changes the value of 
the variable unless I use the RECALC command. Is there another way to refresh 
the appearance of a Variable Image object without using RECALC??

>> 

 

Not to the best of my knowledge.  I also use RECALC when I've changed some 
variable values (text variables in my case) in code and want the screen to 
reflect the updates.  This works fine for me but I don't have images — or more 
than one or two, anyway.

 

I think what you want is to request an enhancement like PROPERTY 
VariableComponentID REDRAW 'TRUE', which is guaranteed to redraw only a single 
component using the current value of the variable attached to it.

--

Larry

 

Reply via email to