Collaborate on / Contribute to MSEide+MSEgui sticky icon

msegui.org is the website made by MSEide+MSEgui users for MSEide+MSEgui users.

Please contact the site administrator if you would like to collaborate on or contribute to MSEide+MSEgui.

You can visit the official MSEide+MSEgui website on sourceforge at:

Donate sticky icon

Don't forget to visit our advertisers.

You can donate to this project by clicking the "Donate to this Project!" link.

If you do not have a PayPal account you can still make a donation using a credit card or bank debit card.

Thank you.

What is MSEide+MSEgui? sticky icon

MSEide+MSEguiMSEide+MSEgui is new options in the programming world. MSEide+MSEgui is a package  IDE (Integrated Development Environment). MSEide+MSEgui developed by a programmer from Switzerland, Martin Schreiber began in 1999. MSEide+MSEgui use Free Pascal compiler, a compiler that is open source that has the benefits of cross-platform, that is, the compiler is able to produce applications for various operating systems (OS). FreePascal accordance with the slogan "Write once compile anywhere" so that the compiler is able to compile a program into the applications that can run on the Linux OS, FreeBSD, Mac OS X / Darwin, DOS, Win32, Win64, WinCE, OS/2, Netware (libc and classic) and MorphOS. But until now MSEide+MSEgui can be run on Windows and Linux only.

Although not yet get popularity as Lazarus, an IDE that others also use the same compiler, but MSEide+MSEgui is to have a bright future to be and best IDE for FreePascal. Because many different concepts that are offered by MSEide+MSEgui compared to other similar competitors. Some excellent features of the IDE are:

  • Free and open source

The license that apply to MSEide is GPL, while the library (MSEgui) released using modified LGPL license as a license to RTL (runtime libraries) from FreePascal.

  • Multi-platform

MSEide+MSEgui run in multiple operating system (OS) such as Linux (Suse, Ubuntu, and others) and Windows (98, XP, 2000 and Vista). Display of your applications in Windows and Linux are the same. 

  • Internal graphics library

Visualization is used only XLib (Linux) and GDI32 (Windows), so the GUI does not require external libraries to be installed first, like QT, wxWidgets, FLTK, and others. With the ability of this application that you can walk up on another computer without having to make installer (simply copy only). 

  • Universal character set

All characters used are internal UCS-2, so that support to create applications using any posts other than latin letters such as China, Arabic, Russia, and so forth. 

  • Internationalization functionality

Providing tools to make the application multi-language using the resource

  • Multiple Document Interface (MDI)

You can create MDI application using mainform (MDI form) and Docking form (child form). 

  • Embedded forms

It is similar to the TFrame, with the ability of this we can place some form in a form or forms that have been embedded in another form we can make float (floating form). 

  • Double-buffered painting

All process drawing on the screen using the method of double-buffered, so that the display on the screen does not flash. 

  • Universal database connector

Providing components to connect to the famous database such as MySQL, PostgreSL, Firebird, SQLite, and ODBC. It also provided a connection to the local database and memory. Even if you use ZeosLib, then your application can be connected with commercial database servers such as Oracle and Microsoft SQL Server. 

  • Integrated debugger

Debugging process can use GDB or MinGW and this process is integrated with IDE. 

  • Report designer

Report designer is integrated in the IDE. 

  • Switchable macros

Flexible and easy to build system with switchable macros. 

  • Highlighting source code

Different format sintax which vary according to category to make it easier to check the source code. 

  • Source code navigation

To search for the location of the classmethod, and function that are appointed (using the CTRL + Left Click). This facility also supports include files ($ I). 

  • Code completion for classes
  • Visual form designer

That is integrated with the source code for components and events

  • Visual form inheritance

You can inherit form from existing form.

What is the reason you use MSEide+MSEgui?

First state of new MSEide+MSEgui site!

For the initial phase of launching a new site for MSEide+MSEgui it is nearly complete regarding on the main features. If you are concerned with the development of MSEide+MSEgui, please you participate here.

What can you do?

  • Continue testing on the application that you created using MSEide+MSEgui and explore the possibility of bugs that could occur.

If you find a bug/error when using MSEide+MSEgui, please report the bugs you find in the forum on this site. So that other users or new users can see the bug that you report it if they find the same bug. With this report Martin Schreiber as the only developer of this project could improve soon.

Architecture Overview

MSEgui requires no external component libraries - it communicates directly with the graphical interface of the operating system, X11 via Xlib on Linux and gdi32 under Windows.

For the individual GUI elements no operating system resources are required - only the main windows are known to the operating system. The entire processing of external events (keyboard, mouse, focus control ...) happens within MSEgui on a Pascal level.

The base class for GUI elements is a twidget. There is no distinction between simple graphic elements and elements which can receive input focus, as is the case in Delphi. All MSEgui widgets have the full functionality of a twidget at their disposal.

Important features of twidget are twidget.frame and twidget.face. When frame or face are not used, they are represented by NIL pointer, in this way using almost no resources.

Twidget.frame is responsible for the frame around the working area of the element. The appearance of the frame is higly adjustable - it can be a simple and quickly drawable 3D frame, as well as a complex and slower composite construct, based on images. There are also other frame elements, that can build scroll bars, buttons and labels.

Twidget.face draws the background of the working area of a desktop GUI element - color gradients and images in various forms can be shown, while partial transparency is also possible.

Setting the properties of frame and face can be centralised by using tframecomp and tfacecomp, which can be selected into tframe and tface as templates.