Making an IDE

This question is about design philosophy.

I'm porting RatScript from an old Pascal/C system to Delphi 5 (and later I'd like it to compile with Kylix). The script interpreter is a command line program and so far that's going quite well in spite of the difficult lexical differences.

Now I'd like to make an IDE for RatScript like the Delphi IDE.

Now the Delphi IDE uses a tabbed pane instead of MDI for display. There's an MDI example which comes with Delphi 5, but no Tabbed-Pane system. Do you know where I can find such an example?

I though of using TMemo to hold the RatScript text, but in Delphi 5 this thing is not Unicode enabled. Does anybody know where I might find a free Unicode TMemo or can I use something else?

When a Delphi unit compiles a left hand pane comes up with the lines for breakpoints. Is there any unit that'll do that?

I'd also like to do syntax high-lighting on script display and use mouse overs during debugging to display variable's values. How does one do such tings to TMemo (or whatever).

Four questions 50 points each, plus 50 bonus for any futher thoughts directions.

LVL 27
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Wim ten BrinkSelf-employed developerCommented: for the Unicode homepage. has a section for Unicode-related issues.

Delphi doesn't support Unicode that well, though. There might be a Unicode component somewhere but probably not with all the functionality that you are looking for. I just hope Delphi 2005 will have better Unicode support for Win32 applications, though. But I doubt it.

The tabbed pane is a PageControl, btw. It's on the Win32 tabpage, second one from the left, I guess.
The left hand page can be simulated with a simple TPanel on the left side. The syntax highlightning is done with a RichEdit control (on the same tabpage as the PageControl) and if you keep the linehight fixed for this RichEdit field, you can easily calculate at which points you must draw the breakpoints in the panel on the left.

There must be other IDE applications available though, that are written in Delphi. Maybe a Google search will be helpful?
DragonSlayerCommented: for your coding component, it comes with syntax highlighting. The unicode version however, is still in development (but can already be checked out from the CVS).

And here's a list of Unicode controls to replace the Delphi standard components:

You might want to also want to have a look at Toolbar2000 because it supports theming support and also some toolbar thingy for the MDI child. Forgot the site for the MDI thingy, but check out this site, nevertheless
Russell LibbySoftware Engineer, Advisory Commented:

Regarding the editing side of things:

I just finished writing an IDE (in Delphi) for GameBoy Advanced development and I can give a **STRONG** recommendation for the SynEdit components. Please see the link above that DragonSlayer provided.

It is still in development, true; but it is also very stable and extremely easy to program against. For example, getting the "word" at the current cursor location is trivial. As is using bookmarks, and other gutter handling techniques. There are also close to 3 dozen language highlighters provided, as well as autocomplete and VERY COOL print preview / printing components...

In short, if you plan on doing any syntax highlighting/editing (eg writing your own IDE), and want to do it for free, then this set of components is the ONLY way to go.


Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Wayne BarronAuthor, Web DeveloperCommented:
This is something that I made up a few years ago

It demostrates how to create the "SynEdit" At runtime.
With Completion Proposal, done on PageControl.TabSheets. Created at RunTime.


  Hello friends.
you say that you designed something in Delphi for "GameBoy" ?
I was told back a year or so ago, that Delphi could not be used to design
Stuff for Video Games, "Outside of the ones that can be made for computer"?
Nice to know that I was mis-informed.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Russell LibbySoftware Engineer, Advisory Commented:


Unfortunately Delphi was only used for the IDE creation.... the GBA coding that I do is done using the gnu C compiler (for ARM/THUMB). But using Delphi, I was able to create a very nice development environment that operates seamlessly with all my tools/compiler/emulator etc.

So as far as I know, Delphi can't generate code for the ARM processor .... would be nice though ;-)

Wayne BarronAuthor, Web DeveloperCommented:
:-( Shot down again.... ;-)

I am learning how to use this program:
Game Development:

It is very nice. Just have not had the time to really dive into it.
Hopefully next Summer I will be able to start learning it.
But right now, I have the "DFS Site" to get going, And then
I have another Site project that needs to be built.
But luckily, The Site can be copied over from the "DFS" into the
new project, as they will both use the same templates that I have designed.

Need more hands :-)

BigRatAuthor Commented:
All excellent responses, thanks lads.

So I've got something to start with and will get back to you with new questions was times goes by.

Thanks again!
Wayne BarronAuthor, Web DeveloperCommented:
Hey BigRat.

  Good luck.
  In making the IDE.

  Take Care
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.