Ver Mensaje Individual
  #1  
Antiguo 14-09-2005
cso2000 cso2000 is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco
Posts: 108
Reputación: 22
cso2000 Va por buen camino
Problemas con TclientDtataset

Saludos a todos,

Mi problema es el siguiente:

Estoy creano un componente TclientDataset al cual le quiero agregar dos componetes TsqlDataset y TdatasetProvider, el problema es no he podido asignarle la propiedad ProviderName a mi componente que tendria que ser el nombre del TdatasetProvider que declaro como variable dentro del mismo componete,

anexo el codigo para ver si me pueden ayudar:

Código:
unit SCEClientDataSet;

interface

uses
  Windows, Messages, SysUtils, Classes, DB, DBClient, Provider, SqlExpr;

type
  TSCEClientDataSet = class(TClientDataSet)
  private
    procedure SetSqlDataset(const Value: TSQLDataSet);
    { Private declarations }
  protected
    // aqui declaro la variable
    FDatasetProvider : TDataSetProvider;
    FSqlDataset : TSQLDataSet;
    { Protected declarations }
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    { Public declarations }
  published
    // esta la utilizo para
    property SqlDataset : TSQLDataSet Read FSqlDataset Write SetSqlDataset;
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('dbExpress', [TSCEClientDataSet]);
end;

{ TSCEClientDataSet }

constructor TSCEClientDataSet.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FDatasetProvider:= TDataSetProvider.Create(Self);
  FDatasetProvider.DataSet := FSqlDataset;
  self.ProviderName := FDatasetProvider.Name;
end;

destructor TSCEClientDataSet.Destroy;
begin
  FDatasetProvider.Free;
  FDatasetProvider := Nil;
  inherited Destroy;
end;


procedure TSCEClientDataSet.SetSqlDataset(const Value: TSQLDataSet);
begin
  FSqlDataset := Value;
end;

end.
les agradesco toda la ayuda que puedan darme.
Responder Con Cita