TRecordBuffer = PByte;
TBufferList = array of TRecordBuffer;
For example, this is the definition of the record buffer management functions in all versions from Delphi 3 to Delphi 2007:
function AllocRecordBuffer: PChar; virtual; procedure FreeRecordBuffer(
var Buffer: PChar); virtual; procedure GetBookmarkData(Buffer: PChar;
Data: Pointer); virtual; function GetBookmarkFlag(
Buffer: PChar): TBookmarkFlag; virtual;
This is the same set of TDataSet methods in Delphi 2009:
function AllocRecordBuffer: TRecordBuffer; virtual; procedure FreeRecordBuffer(
var Buffer: TRecordBuffer); virtual; procedure GetBookmarkData(Buffer: TRecordBuffer;
Data: Pointer); overload; virtual; function GetBookmarkFlag(
Buffer: TRecordBuffer): TBookmarkFlag; virtual;
I could list dozen of other methods with the same differences. What is important to notice is that many of these are virtual methods, the methods you need to implement to define a custom dataset. Methods of the public interface of TDataSet, instead, see very limited changes. In other words, the changes to the TDataSet class have little effect on users of dataset classes, but significantly affect those who wrote a custom dataset class.
Was this article helpful?
What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.