After installing latest VirtualDAC version 10.5.13 I have (time to time) this exceptions while opening Virtual Query:
unable to close due to unfinalized statements or unfinished backups
OR
Access Violation
Debugger show exception somewhere in VirtualDac units.
After rolling back to older version 10.3.8 problems gone.
Here is my code for the query:
Code: Select all
ProxyDS=new TVirtualDataSet(NULL);
ProxyDS->FieldDefs->Add("No",ftInteger,0,false);
ProxyDS->FieldDefs->Add("IP",ftString,64,false);
ProxyDS->FieldDefs->Add("Threads",ftInteger,0,false);
ProxyDS->FieldDefs->Add("ConnAttempts",ftInteger,0,false);
ProxyDS->FieldDefs->Add("ConnFailsInRow",ftInteger,0,false);
ProxyDS->FieldDefs->Add("ConnFailsTotal",ftInteger,0,false);
ProxyDS->FieldDefs->Add("MsgSent",ftInteger,0,false);
ProxyDS->FieldDefs->Add("Effeciency",ftInteger,0,false);
ProxyDS->FieldDefs->Add("Status",ftString,100,false);
ProxyDS->FieldDefs->Add("ID",ftInteger,0,false);
ProxyDS->FieldDefs->Add("Host",ftString,64,false);
ProxyDS->FieldDefs->Add("Deleted",ftBoolean,0,false);
ProxyDS->AutoCalcFields=false;
ProxyDS->ReadOnly=true;
ProxyDS->OnGetRecordCount=ProxyDSGetRecordCount;
ProxyDS->OnGetFieldValue=ProxyDSGetFieldValue;
ProxyDS->Open();
ProxyQry=new TVirtualQuery(NULL);
ProxyQry->AutoCalcFields=false;
ProxyQry->ParamCheck=false;
ProxyQry->ReadOnly=true;
ProxyQry->FetchAll=false;
ProxyQry->SourceDataSets->Add(ProxyDS,"RunTimeProxyList");
ProxyQry->SQL->Add("SELECT * FROM RunTimeProxyList WHERE Deleted=false");
ProxyQry->Open(); // <---- exception here !!!!
- create and setup as shown above
- open query
- close & free ProxyQry and ProxyDNS
- run again.
You should get similar exception soon.