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.