Si el string grid tiene un nombre, tan fácil como:
Código Delphi
[-]
tabs := PageControl1.Pages[z];
stri := Tabs.FindControl('ElNombreDelStrignGrid') as TStringGrid;
Si no lo tiene... pero hay solo uno, entonces algo como esto:
Código Delphi
[-]
tabs := PageControl1.Pages[z];
stri := nil;
for I := 0 to Tabs.ControlCount - 1 do
if Tabs.Controls[i] is TStringGrid then
begin
stri := TStringGrid(Tabs.Controls[i]);
break;
end;
Esto funcionará si el StringGrid está directamente sobre el PageControl. Si está en otro control, pues se busca directamente en ese contenedor... o se hace una búsqueda recursiva.
Si hay varios StringGrid, pues sería de idear la forma de identificar cuál es el que te interesa y condicionar la asignación hasta que se encuentre el indicado.
Un saludo.