Hola,
Código Delphi
[-]
var
ob : TObject;
begin
ob := FindComponent(nombre_del_objeto); if ob = nil then begin ShowMessage('No existe ese objeto'); exit; end;
SetOrdProp(ob,propiedad_a_cambiar,valor_a_poner); end;
como ves, la funcion SetOrdProp sirve solo para establecer propiedades integer, existe tb las SetStrProp, SetMethodProp, etc... (y sus correspondientes GetStrProp, GetOrdProp,... todas indocumentadas :/ ) deberás encontrar el tipo de la propiedad a modificar antes de usar una u otra. Investigando he encontrado que se puede hacer de manera general, pero se usan punteros directos al objeto y parece bastante mas complicado.
Te pongo tb una funcion para encontrar toda la lista de propiedades de un objeto. Desde esta funcion, seguro que puedes determinar el tipo de la propiedad que buscas
Código Delphi
[-]
procedure GetPropertyList(Obj:TObject ;List: TStrings;Filter: TTypeKinds);
var PropListPropList;
count,i : Integer;
begin
List.Clear;
Count := GetPropList(Obj.ClassInfo, Filter, nil);
GetMem(PropList,Count * SizeOf(PPropInfo));
GetPropList(Obj.ClassInfo, Filter, PropList);
for i:=0 to Count -1 do
List.Add(Proplist[i].Name);
end;
Venga, espero q te sirva
PD : links a Free Pascal,
http://www.freepascal.org/docs-html/...bjectprop.html