Echoes From The Past: Message Master For Delphi a.k.a. MM4D

Posted on sab 20 febbraio 2016 in Delphi 10 Seattle, Projects

Some years ago, at the Delphi 6/7 timeframe I was working on a client/server program with c.a. 400 forms and 200 units. At that time I needed a simple way to localize in Italian (in primis) and in other languages, all the  standard dialogs (ShowMessage, InputBox, InputQuery etc.). Moreover, I would have liked to give a unique style to them. In addition, I needed to localize that dialogs. Moreover I needed a simple way to show a program of a background operation using a not modal dialog with a simple pattern like the following:

{lang="delphi"} ... ShowStatusPos(STATUS_CAPTION, Point(50, 50), True); try for i := 1 to 100 do begin SetupQuery(LMyDataset, i); LMyDataset.Open; while not LMyDataset.Eof do begin //do something UpdateStatus(i, Format(STATUS_CAPTION + ' %2d%%', [i])); LMyDataset.Next; end; LMyDataset.Close; end; finally CloseStatus; end; ...

So, after some tests I wrote Message Master for Delphi. MM4D is a smal library which supports all of these features, or at least these features were supported at that time. Indeed, since then I saw many (really many) 3rd-party Delphi/C++Builder written programs which actually use MM4D. However, since then I didn't supported that library anymore. Now, more or less, 15 years after, a user wrote to my about MM4D support in Delphi 10 Seattle. So, I decided to update the code to let it compile on Delphi 10 Seattle. So, now it is currently supported (even if I dont plan to improve it in any way in the short term). However if someone use it or want to use it and update/upgrade/improve, here's the github reporitories. I hope I have done something good for all the old time users.

Message Master For Delphi\ https://github.com/danieleteti/mm4delphi

In the repositories there is a demo to show all the features of MM4D and there is also a small tool called UnitsAdded.exe which can be used to add the MM4D features to a project automatically (search for Dialogs.pas and, if exists, add MessDlgs after it).\ MM4Delphi uses the good XiControls (included). So, still thank you to Eugene Genev for his XiControls.