PDA

View Full Version : Delphi Goodies



Grippy
03-09-2009, 03:28 PM
I and my friends all like to add the DelphiSpeedUp extension (http://andy.jgknet.de/blog/?page_id=8) to our Delphi environments. It provides a nice speed boost for the IDE, along with a couple of other small features.

See also the FastCode (http://fastcode.sourceforge.net/) link on the DelphiSpeedUp page. These are hand-optimized core routines that run many times faster than what come in the RTL/VCL. Simply including FastCode can cool performance hotspots in your applications.

Also along these lines, check out the FastMM project (http://sourceforge.net/projects/fastmm) which provides a vastly improved memory manager for Delphi 7. It's so good CodeGear made it a part of later Delphi versions. Makes your program faster and may reduce memory requirements (depending on what you are doing). Also very useful for reporting memory leaks so you can find and fix them.

To make working in the Delphi IDE nicer, install the GExperts extension (http://www.gexperts.org/). This provides a nice set of programmer-friendly tools that you can use for quick reference. Lots of stuff, ranging from a simple ASCII chart to grep tools, procedure lists and code templates.

EvilChicken!
03-09-2009, 05:45 PM
Thank you very much for this, Grippy!

Grippy
03-09-2009, 06:45 PM
No problem.

Another tool for more experienced Delphi developers is the debug stuff included with the JCL (http://www.delphi-jedi.org/). This allows you to compile in support for producing a call stack track when an error occurs, which makes it much, much easier to track down mysterious bugs.

The JCL is of course stuffed full of other useful goodies that allow you to spend time writing cool code with well-tested library functions instead of reinventing the wheel. It is well worth the time you'll need to spend exploring it.

Developers doing lots of visual programming might also be interested in the JVCL, a large collection of visual components for delphi. Honestly I prefer to use Developer Express (http://devexpress.com/), but that's because I have someone to buy them for me :)

nielsie95
03-09-2009, 09:28 PM
Another cool (free) visual library is spTBXlib (http://www.silverpointdevelopment.com/sptbxlib/index.htm).

Grippy
03-12-2009, 04:22 PM
Another very useful and easy to use tool is GLScene (http://glscene.sourceforge.net/wikka/HomePage). It is an open source OpenGL 3D library. It makes doing 3D graphics work very intuitive. I've used it for a couple of projects and was very happy with it. It's very easy to get started with.

Another tool I've been very happy with is DelphiWebScript (http://sourceforge.net/projects/dws/), a very rich scripting engine using Delphi syntax. Don't let the 'Web' part in the name distract you, it's a general purpose script engine. It is similar to PascalScript from RemObjects, but it has more complete language syntax, allowing nested routines, classes in script, etc. I think PascalScript may be stronger on producing dynamic calls to compiled routines. DWS includes some tools for automatically wrapping existing Delphi classes for use in script (a friend of mine worked on that), so it is very easy to expose various Delphi objects to the script. If you try this project, pull the code from SVN.

These tools work very well together. One of my projects involved creating 3D scenes from user-produced script. It was amazing how easy it was to do this with those two tools.

Both of these are 'mature' tools that have not seen significant development for a few years. As far as I am aware they have not been brought forward for use in Delphi versions post-D7.

Grippy
04-03-2009, 05:09 PM
There are known bugs in the Delphi VCL and RTL. While CodeGear does not release updates for the older versions of Delphi, you can still incorporate user-contributed patches to these in your environment. Andy's VCL Fix Pack (http://andy.jgknet.de/blog/?page_id=288) contains a nice collection of these and is a very well-executed. Be sure to read the comments on the thread.

Daniel
04-04-2009, 12:33 PM
Too bad that doesn't support my Delphi, and my one is already pretty speedy i must say ;)