Ver Mensaje Individual
  #1  
Antiguo 22-03-2023
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Reputación: 17
juank1971 Va por buen camino
Buscar componentes de un formulario usando rtti

saludos como puedo buscar todos por ejemplo los TstringGrids de un formulario usando rtti ?

algo por ejemplo como esto
Código Delphi [-]
for i := 0 to Formulario.ComponentCount - 1 do
   begin
     if Formulario.Components[i].ClassName= 'TStringGrid' then
    begin
      Grid := TStringGrid(Formulario.Components[i]); // encontró  alguno
      if Grid.ColumnCount > 0 then // comprueba que tenga columnas
        try
......................................
quisiera hacer esto con rtti, he tratado de buscar en google y clubdelphi pero todos los ejemplos buscan propiedades y demas de las clases no instanciadas.

o por ejemplo esto otro quisiera tambien hacerlo con RTTI:

Código Delphi [-]
function GetLinkGridToDataSource(Formulario: TForm; Grid: string): TLinkGridToDataSource;
var
   l:TLinkGridToDataSource; s:TStringGrid;
begin
  result := nil;
  for var i := 0 to Formulario.ComponentCount - 1 do
    if Formulario.Components[i] is TLinkGridToDataSource then
     begin
      l:= Formulario.Components[i] as TLinkGridToDataSource;
      if l.GridControl is TStringGrid then
       begin
       s:= l.GridControl as TStringGrid;
       if Grid = s.name then
        result := l;
       end;
     end;
end;
Responder Con Cita