View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006276 | JEDI VCL | 00 JVCL Components | public | 2014-04-24 21:41 | 2014-09-03 11:39 |
Reporter | Nagonzal | Assigned To | |||
Priority | normal | Severity | crash | Reproducibility | always |
Status | acknowledged | Resolution | open | ||
Product Version | Daily / GIT | ||||
Target Version | Fixed in Version | ||||
Summary | 0006276: Error access violation JvMemoryData.Loadfromdataset.. XE5 | ||||
Description | Excuse me english. I'm migrating de Delphi XE2 to Delphi XE5. I get exception doing a Loadfromdataset or loading the data one to one: raise exception class $C0000005 with message 'access violation at 0x00406a6b: read of address .......'. The following query should display about 10000 rows. SQLQuery := TQuery.create(nil); ... SQLQuery.Close; SQLQuery.SQL.Clear; SQLQuery.SQL.ADD(' SELECT nombre from tercero '); SQLQuery.open; memorydata.Close; memorydata.LoadFromDataSet(SQLQuery,-1,lmAppend); or doing memorydata.Close; memorydata.Open; SQLQuery.First; while not SQLQuery.Eof do begin memorydata.Append; memorydata.FieldByName('NOMBRE').ASSTRING := SQLQuery.FieldByName('NOMBRE').ASSTRING; memorydata.Post; SQLQuery.Next; end; Not always shows the error in the same row and have noticed that if you have more fields jvmemorydata the error faster. When I break the code, it is truncated in the procedure InternalSetFieldData of the unit TJvMemoryData | ||||
Additional Information | The 'nombre' field is a varchar (150). | ||||
Tags | No tags attached. | ||||
|
I cannot reproduce this. var I: Integer; S: string; begin ClientDataSet1.CreateDataSet; S := StringOfChar('x', 150); for I := 0 to 9999 do begin ClientDataSet1.Append; ClientDataSet1nombre.AsString := S; ClientDataSet1.Post; end; ClientDataSet1.First; JvMemoryData1.CopyStructure(ClientDataSet1); JvMemoryData1.LoadFromDataSet(ClientDataSet1, -1, lmAppend); |
2014-07-17 22:26
|
documents.zip (74,329 bytes) |
|
Good afternoon Excuse me english. The example works, but with the String data type that we handle, does not work. We decided to wait and we are migrating XE2 to XE6 and the error persists. The error is generated from the first execution of the query. The query de la Image3 should return a result of 33946 rows and returns a random number of records between 6000 and 15000 rows and generate the error of the Image4. At the function CalcFieldLen of the unit JvMemoryDataset - Image2- for example switching the size del ftString to Variant, the query works but I truncated fields a 16 characters. There is an error with the capacity of the Ftstring field. I am installing the JVCL348CompleteJCL26-Build5178. Attached images with IDE environment I'm driving. Thank you for the given attention and I hope you can assist us with this. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-04-24 21:41 | Nagonzal | New Issue | |
2014-04-24 23:02 | AHUser | Note Added: 0020954 | |
2014-04-24 23:02 | AHUser | Status | new => feedback |
2014-07-17 22:26 | Nagonzal | File Added: documents.zip | |
2014-07-17 22:26 | Nagonzal | Note Added: 0021003 | |
2014-09-03 11:39 | obones | Status | feedback => acknowledged |