reciban un cordial saludo.
estoy desarrollando un aplicativo en delphi xe4 con base de datos mysql, el programa crea varios hilos de ejecucion y en cada hilo se crean componentes sqlconnection, datasetprovider, clientdataset, etc.
Código Delphi
[-]
sqlconnection1:=TSQLConnection.Create(nil);
sqlconnection1.DriverName:='MySQL';
sqlconnection1.Params.Append('DriverName=MySQL');
sqlconnection1.Params.Append('DriverUnit=Data.DBXMySQL');
sqlconnection1.Params.Append('DriverPackageLoader=TDBXDynalinkDriverLoader,DbxCommonDriver180.bpl');
sqlconnection1.Params.Append('DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Dat a.DbxCommonDriver,Version=18.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b');
sqlconnection1.Params.Append('MetaDataPackageLoader=TDBXMySqlMetaDataCommandFactory,DbxMySQLDriver18 0.bpl');
sqlconnection1.Params.Append('MetaDataAssemblyLoader=Borland.Data.TDBXMySqlMetaDataCommandFactory,Bo rland.Data.DbxMySQLDriver,Version=18.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b');
sqlconnection1.Params.Append('LibraryName=dbxmys.dll');
sqlconnection1.Params.Append('LibraryNameOsx=libsqlmys.dylib');
sqlconnection1.Params.Append('VendorLib=LIBMYSQL.dll');
sqlconnection1.Params.Append('VendorLibWin64=libmysql.dll');
sqlconnection1.Params.Append('VendorLibOsx=libmysqlclient.dylib');
sqlconnection1.Params.Values['HostName']:=host2;
sqlconnection1.Params.Append('Database=$$$$$$$') ;
sqlconnection1.Params.Add('User_Name=xxxxxxx');
sqlconnection1.Params.Add('Password=$$$$$$$');
sqlconnection1.LoginPrompt:=False;
sqlconnection1.AfterConnect:=sqlconnection1afterconnect;
sqlconnection1.AfterDisconnect:=sqlconnection1afterdisconnect;
creamos los otros componentes
Código Delphi
[-]
hactualiza:=TSQLDataSet.Create(nil);
hactualiza.SQLConnection:=sqlconnection1;
hactualiza.CommandType:=ctQuery;
hactualiza.CommandText:='Select * from actualiza';
datahactualiza:=tdatasetprovider.Create(nil);
datahactualiza.DataSet:=hactualiza;
chactualiza:=Tclientdataset.Create(nil);
chactualiza.SetProvider(datahactualiza);
cuando abrimos los clientdataset funciona bien pero cuando solicitamos un refresh genera un error diciendo que no tiene datasetprovider asignado.
creo que me falta algo en la creacion de los componentes.