Question

I'm new in delphi and i thought it might be safer to swap object names in loop instead of copying whole block for each object. So I need to use variable name as some objects name. Here is an example of what i tried and what i am trying to do.

  Var
    YazGrid: TStringGrid;

I defined a variable for grid name as above and i am trying to use like this:

  Some Loop
    begin
      if a_variable>=10 then
        YazGrid:=form1.StringGrid1
      else
        YazGrid:=form1.StringGrid2;

      YazGrid.Cells[1,i] := 'SomeText';
    End;

As the result- it comes out with the "Access Violation" error. How should i do this?

Thanks in advance.

Was it helpful?

Solution

Everything looks right in your code. Make sure that variable "i" in bound. Anyway, even if "i" out-of-bound, this shound't raise Access Violation.

Tested with Delphi XE2 and XE4.

I suppose that error occure in code that not showed in your sample.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top