Ver Mensaje Individual
  #1  
Antiguo 25-02-2010
Avatar de GerTorresM
GerTorresM GerTorresM is offline
Miembro
 
Registrado: nov 2005
Ubicación: Tunja - Boyacá
Posts: 210
Reputación: 21
GerTorresM Va por buen camino
crear componentes a partir de la una función

Hola a todos la situaciones del día de hoy es la siguiente:

en la actualidad tengo una función que me permite crear una consulta, esta función queda de la siguiente forma

Código Delphi [-]

function CrearConsulta() : TQuery;
Var TempConsultaLocal : TQuery;
begin
  TempConsultaLocal:= TQuery.Create(nil);
  with TempConsultaLocal do
    begin
      DatabaseName:= DMDatosServicios.DBServicios.DatabaseName;
      close;
    end;
  Result:= TempConsultaLocal;
end;

ahora en orden de ideas funciona de la mejor de la formas, pero me pregunto si puedo crear de forma igual componentes para colocar en mi formulario, para lo cual planteo el inicio de la siguiente función

Código Delphi [-]
function CrearComponente(pTop, pLeft, pWidth, pHeigth: Integer; pParent: TWinControl; pTipoComponente : TComponent) : TWinControl;
Var componente_temporal : TWinControl;
begin
  componente_temporal:= pTipoComponente.Create(nil);
  try
    componente_temporal.Parent:= pParent;
    componente_temporal.top:= pTop;
    componente_temporal.left:= pLeft;
    componente_temporal.width:= pWidth;
    componente_temporal.Height := pHeigth;
  except
  end;
  Result:= componente_temporal;
end;

Al intentar ejecutar el codigode la funcion
Código Delphi [-]
begin
  SGTarifa_local:= CrearComponente(0,0,100,50,self,TStringGrid);
end

obtengo este mensaje de error

incompatible types: 'TComponent' and 'Class Reference'

para lo efectos SGTarifa es un StringGrid

Última edición por GerTorresM fecha: 25-02-2010 a las 23:30:47. Razón: Complemento mensaje
Responder Con Cita