Mike, just wanted to report that your solution worked!

Even though my loops were not generating any errors and were doing what they 
were supposed to do, the AA engine just didn't like 'em and crashed. Cleaning 
out the VarGets from within each loop prevents the crash. And the code looks 
cleaner to boot.

Thanks again.


--- In [email protected], "Mike" <sfclimb...@...> wrote:
>
> 
> Your code seems to work fine for me, using arbitrary values for Counter
> and TestLevel.
> 
> Add a _TRACE statement to validate your HiLoCond values.
> 
> I seem to recall getting access violations when using invalid index
> values (e.g. referencing beyond the data). You might want to look there.
> 
> Also, you can avoid the redundant VarGet calls by storing your earlier
> results in local variables and reusing them, rather than doing a dynamic
> lookup for something that you just calculated.
> 
> Mike
> 
> for ( R = 0; R <= Counter; R++ )
> {
>      MyHigh = Ref( High, -R );
>      MyLow = Ref( Low, -R );
> 
>      VarSet( "High"     + R, MyHigh );
>      VarSet( "Low"      + R, MyLow );
> 
>      VarSet( "HiLoCond" + R, MyHigh - MyLow >= TestLevel ) ;
> }
> 
> 
> --- In [email protected], "ozzyapeman" <zoopfree@> wrote:
> >
> > Hoping someone can help with this. I am getting an Access Violation
> > AmiBroker crash, and it seems to be due to using VarGet from within a
> > VarSet loop, or at least I think that is where the problem lies.
> >
> > For example, I have several loops of this type:
> >
> >
> > for ( R = 0; R <= Counter; R++ )
> > {
> > VarSet( "High" + R, Ref( High, -R ) );
> > VarSet( "Low" + R, Ref( Low, -R ) );
> >
> > VarSet( "HiLoCond" + R, VarGet( "High" + R ) - VarGet("Low" + R) >=
> > TestLevel ) ;
> > }
> >
> >
> >
> > You will notice I am setting some dynamic vars, and within the same
> loop
> > I am getting vars which have been set earlier in the loop. Is this
> > allowed? Or can I only do a VarGet from inside a completely separate
> > loop? I would think that in the order of execution, I can do what I am
> > doing, since the vars are set a couple of lines above, but maybe not?
> >
>


Reply via email to