
INTRODUCTION
As GMREC and several others may testify, this has been worked upon for some good time.
Enough talk, what exactly is it?
In this package you will find two dll files. One is GMRA: the Delphi interpreter and the other is a pascal editing control called GMPE. GMPE features syntax highlighting, adding watches, adding error markers, and showing a messages in a lower pane.
The focus though is all on GMRA. It is capable to run (with some limitations) delphi code. As an example, GM7 and below have all been made in delphi and both dlls are in delphi too
Now you'd ask, why's it an interpreter? It is because it doesn't really compile code! You cannot for example create standalone programs or dlls with it. Notice I said standalone meaning you can still use the dll in your GM program normally. You just cannot create exes or dlls from the delphi code. The delphi code must be passed as a GM string and then it can be executed.
DEMOS & EXAMPLES
Legend: Complete Consideration Canceled Untested / Incomplete
-Skinned windows example (download here)
-Read current harddisk's serial
-Book keeping system using record structures
-Write into an MS Word document
-Show a message using Windows' user32.dll
-Image editor (MS Paint-like) dialog
-Easy control creation scripts
DOCUMENTATATION
Online Documentation
Offline Documentation
DESIGNER
To make life easier, use this simple to use and fully featured GUI design program (it generates GML/GMRA code for you):
DGUID: Delphi GUI Designer
DOWNLOAD
Current version is: 1.0.7.4
Direct Link
Download Page
DEMOS
There are some demos with current distribution, but here you my find some larger demos:
-Skinned window demo - Shows how to fully skin a window. This demo can be used to produce skinned child windows and may be further modified to even skin the GM window!
You can download the demo here.
CREDITS
A lot of packages went into this project including: Project JEDI, Project Crystal Icons, PNGDelphi, Project SmartHelp, CDS...
You don't have to give credit to any of them but is very much appreciated if Covac Software and JEDI Team are credited.
SCREENSHOTS
This is an interpreter as such screenshots may vary. I'll put some here for your leisure.

DelphiEditor Running the paint dialog demo

DelphiEditor Running one of the demos and showing a bug
Other screenshots in next post.
BENCHMARKS
Drawing on window test: At first GM was very fast at it, but GM becomes gradually slowwer with larger windows (rooms), at larger windows/forms the interpreter seems to perform better. Also, unlike GM it took a lot less processing power to draw on the form, the down side is, redrawing produces a flicker. I might have to add DoubleBuffered feature to the form to fix this. (Chris)
Looping test: A loop to 1000000 took 10secs for the interpreter in the IDE while 5secs for pure GML. (icuurd12b42)
NB: Speed is a considerable issue, but as GMREC said, it is bound to be slowwer considering the amount of features it has. I will work later on on a threading system were the interpreter would hold up GM while executing. Of course such a feature means you can't get a result value back.
HISTORY
28-Nov-08 - Released package.
01-Dec-08 - Released package: changes only in GMPasED.dll only.
TODO LIST
Legend: Complete Consideration Canceled Untested / Incomplete
-Add threading support (just an idea I'm considering)
-Test DFM support (and fix if applicable)
-Fix unit file inclusion support
-Add an equivalent for Addr and Ptr these in delphi are also @ and ^.
-Fix tab key in editor
-Use different memory manager
-Add load unit from file directly support
-Fix some memory quirks (fixed with FastMM)
-Fix execute function functionality
-OLE example for MS Word works correctly
-Added custom dialog for error handling/reporting
Christian Sciberras
Copyright [C] 2008
Covac Software
JEDI Initiative
Everaldo Coelho
FastMM
Edited by uuf6429, 19 April 2009 - 10:46 PM.













