Project JEDI - Issue Tracker
Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0006151 [JEDI VCL] 00 JVCL Components major always 2013-06-17 09:47 2015-09-14 13:20
Reporter rwasowski View Status public  
Assigned To AHUser
Priority normal Resolution fixed  
Status resolved   Product Version 3.46
Summary 0006151: TJvMemoryDataSet - GoToBookmark doesn't work
Description Hi,

Delphi XE3 (32 bit).

GoToBookmark on TJvMemoryDataSet doesn't work fine. Error is full reproducibility.

When I get bookmark from dataset this information are not valid for method GoToBookmark and nothing happens on dataset.

I don't get any error. Indicator on (ex. DBGrid) is on the same place.

Example app in attachment.

Thanks for help.
Additional Information I've debugged JvMemoryDataset.pas
It seems that problem is in

procedure TJvMemoryData.InternalGotoBookmarkData(BookmarkData: TJvBookmarkData);

more precisely:

Rec := FindRecordID(BookmarkData);
Tags No tags attached.
Attached Files zip file icon [^] (83,185 bytes) 2013-06-17 09:47

- Relationships

-  Notes
Arioch (developer)
2013-07-08 11:37

Can you switch to some other table like TClientDataSet ?
rwasowski (reporter)
2013-07-09 10:08

Perhaps I could, but I use TJvMemoryDataSet in many places of my application with or without using Bookmarks.
Arioch (developer)
2013-07-09 11:43
edited on: 2013-07-09 11:43

I was a long-time user of RxLib and by inheritance of JVCL.
I think RxMemoryDataset was among first freeware BDE-less in-memory tables for Delphi.

Still... over time it turns to be a very spaghetti code.

After i found that sometimes it occasionally may create new empty rows... i given up. I think unless there would be someone would clean it and re-implement it (would you, by the way?) it should alas be considered obsolete.

Arioch (developer)
2013-07-10 11:57

check if 0006163 would help you
rwasowski (reporter)
2013-07-10 13:10

Thanks for hint. I'll try it tomorrow and give you replay.
About re-implement - I can try but I can not say when I'd finished.

By the way, an interesting challenge :)
Arioch (developer)
2013-07-10 13:33

Personally i don't feel there is any reason to do because

1) there is CDS which usually works
2) there are hi-level containers like TDictionary<T,U> both stock and 3rd-party
3) there are SQL databases like Firebird Embedded, SQLite or NexusDB (or kbMemSQL ;-) )
4) there is AnyDAC memory table, which is FireDAC and part of XE4 Enterprise now
5) would show you yet more in-memory tables

If you really want to re-implement something - then revive hmmm... TObjectDataset?.. there was a runtime component turning array of {TObject} into a table, based on object's type RTTI

Also [^]
AHUser (developer)
2013-07-11 20:06

Fixed in master branch.

- Issue History
Date Modified Username Field Change
2013-06-17 09:47 rwasowski New Issue
2013-06-17 09:47 rwasowski File Added:
2013-06-17 09:59 rwasowski Issue Monitored: rwasowski
2013-07-08 11:37 Arioch Note Added: 0020561
2013-07-09 10:08 rwasowski Note Added: 0020564
2013-07-09 11:43 Arioch Note Added: 0020565
2013-07-09 11:43 Arioch Note Edited: 0020565
2013-07-10 11:57 Arioch Note Added: 0020566
2013-07-10 13:10 rwasowski Note Added: 0020567
2013-07-10 13:33 Arioch Note Added: 0020568
2013-07-11 20:06 AHUser Note Added: 0020571
2013-07-11 20:06 AHUser Status new => resolved
2013-07-11 20:06 AHUser Fixed in Version => Daily / SVN
2013-07-11 20:06 AHUser Resolution open => fixed
2013-07-11 20:06 AHUser Assigned To => AHUser
2015-09-14 13:20 obones Fixed in Version Daily / GIT => 3.48

Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker