Delphi Handbooks Collection


Delphi XE Handbook


Delphi 2010 Handbook


November 26, 2009

My First Compilation of Midas.dll

While finishing research for my coming Delphi 2010 book, I compiled the midas.dll, available for the first time in source code format.

While finishing research for my coming Delphi 2010 book, I compiled the midas.dll, available for the first time in source code format. IN case you don't know, this is the actual implementation of the commonly used ClientDataSet components, the default in-memory dataset used by Delphi applications (as it is the only one shipping with the product).

All I had to do was correct a few project setting to avoid having temporary files being written to folders I have no permission to write to, being on Windows 7. It all took a few minutes to configure, and less than that to compile:

As you can see the library has over 400,000 lines of source code, written in C++ (but it is just C with a few classes here and there, not a real object oriented structure). The project has many source code files and it was fun to browse the code and find many "old time" references: BDE, ISAPIxx.DLL, and the like. Now I didn't make any change, but the idea of being able to do so is nice. Notice, anyway, that this was not released as an open source library, but only made available to registered users of the product, exaclly like the VCL source code it is part of.

 





 

4 Comments

My First Compilation of Midas.dll 

Now just hope someone won't overwrite the standard 
midas.dll with its own instead of keeping it in his 
application directory.
Comment by Luigi D. Sandon on November 26, 23:59

My First Compilation of Midas.dll 

 Hi Luigi,

including midaslib in uses part, then you don't need to deploy and to 
use the midas.dll, or you are secure if somebody change it.

regards

daniel
Comment by Daniel Magin [http://www.delphiexperts.net] on December 4, 21:29

My First Compilation of Midas.dll 

 Hi!

In our company we have changed Delphi 5 to Delphi 
2010. Yes :) After it we have changed our programs 
from BDE to ADO and ClientDataSet. Our softwares 
shoud operate sometimes with a lot of datas. But for 
example over 1 million record the clientdataset says 
no more memory. :) Of course, i know what you think 
now, but blive me, we know what we doing. With BDE we 
could say to the customers, it is a limit, but know 
we have any kind of possibility to change.

Know I'm just thinking to change the midas dll 
source, it shoud to load data in memory (like now), 
but after 1000-2000 record the first 10-100 records 
shoud write to the disk, and if we need that records 
we load from them form the disk. Then every Dataset 
have only 1000-2000 records in memory and the others 
are in the disk in files.
Do you think coud you help me with some ideas? Or 
anyone else?
Sorry about my english, it's not my native language.

Best regards,
Andras
Comment by Andras on July 2, 19:59

My First Compilation of Midas.dll 

 Hi! There is a limitation in midas.dll to embed 
datasets (dspickle.h: MAXRECSTATES = 64), so we tried to 
recompile it. We can compile new dll, but how can i 
compile new midas.obj, and how can i make new dcus?

Regards

Péter
Comment by Péter on December 5, 14:56


Post Your Comment

Click here for posting your feedback to this blog.

There are currently 0 pending (unapproved) messages.