Thanks for the info and suggestions Mike. Hopefully Tomasz can spot the issue from the crash report. But I think I will try storing in local vars as you suggest - see if that makes a difference.
--- 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? > > >
