MSEide + MSEgui

Forum related to version 6.5.1 (alpha) and 6.6.x (beta) of ZeosLib's DBOs

Moderators: gto, cipto_kh, EgonHugeist

Post Reply
gury
Fresh Boarder
Fresh Boarder
Posts: 9
Joined: 16.04.2007, 11:30
Contact:

MSEide + MSEgui

Post by gury »

Hello everybody,

I know MSEide + MSEgui http://www.homepage.bluewin.ch/msegui/ is independent project with its own structure and graphical interface, which does not depend on Delphi VCL or Lazarus LCL. But anyway, is there any chance to implement ZEOS project for this great RAD Free Pascal development system?

Regards,
Gury

Edit: fixed url now!
You are welcome to visit my homepage: http://gury.atari8.info/
User avatar
cipto_kh
Senior Boarder
Senior Boarder
Posts: 83
Joined: 28.09.2005, 11:22
Location: Indonesia
Contact:

Post by cipto_kh »

Curious why that guys behind the MSEide not join and contribute to Lazarus? because I think Lazarus is more mature than what they build. It will be good if they use their knowledge for Lazarus, because I think the goal is the same.
gury
Fresh Boarder
Fresh Boarder
Posts: 9
Joined: 16.04.2007, 11:30
Contact:

Post by gury »

Lazarus is great project, cross-platform, Free Pascal, ZEOS support... but the author of MSEIDE took different approach to the solution of making free GUI independent developing system. Also cross-platform of course, but not dependable by VCL / LCL system. There is even contradiction if Lazarus is allowed to use the techniques from Borland Delphi: http://www.lazarus.freepascal.org/index ... sc&start=0

I like Lazarus, but I hope the law issues will not get bigger wings.
You are welcome to visit my homepage: http://gury.atari8.info/
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

Hi gury,

I have no idea how MSE works, but as it seems to be based on fpc at least the core, parsesql, plain and zdbc layer should be compilable. Which means it should be possible to use the zdbc interface to the database.
How you write components for MSEIDE is something I don't know. I think, starting from the Lazarus packages, it may be possible to write some MSEIDE package. No idea if we use a Lazarus specific units that are not available for MSE. You'll have to check this yourself using the 'trial and error' methodology.
If you get it working without breaking Lazarus and Delphi coding there's no objection to adding this code to our project.

Mark
mse
Junior Boarder
Junior Boarder
Posts: 41
Joined: 17.07.2007, 06:30

Post by mse »

There is a news group (NNTP) for questions and bug reports about MSEide+MSEgui:
[url]news://news.grid-sky.com/public.mseide-msegui.talk[/url]

From README.TXT:
How to add custom components to MSEide
**************************************
There is a project 'apps/myide/mymseide.prj' as a demo.
Start MSEide, open project 'apps/myide/mymseide.prj', 'Project'-'Build',
'Target'-'Continue',
the IDE with the new component 'tmybutton' will be compiled and
started in the the debugger.
Binary name is 'mymseide' (linux) or 'mymseide.exe' (win32).

If you wish to do it from scratch:

- Create a register unit for your components
(see 'apps/myide/regmycomps.pas' for an example).
- Enter the unitname followed by a comma
('myregunit,' if your regunitfile is 'myregunit.pas') in
a file named 'regcomponents.inc'.
- Build the IDE with -dmorecomponents as option.

If you want add custom icons to your components:

- Convert 24*24 pixel BMP files with tools/bmp2pas to
an icon unit ('*_bmp.pas').
- Add the name of the icon unit to 'uses' in your register unit.
Martin
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

Thanks mse.

Are you member of the MSE development team? Would you mind having a look at what should be done to make a MSE package for ZEOSLIB and eventually make the package?
As there are no MSE developers on the current team we will not start the job ourselves. On the other hand, if it works out well it's a cheap way to add the zeoslib possibilites to MSE (if they are not provided yet).
Are 'one-click' MSE installers available the way they are available for Lazarus? I'm not really looking forward to start messing with fpc installations, compiling ide's just to test if zeoslib installation is not broken after zeos modifications.

Mark
mse
Junior Boarder
Junior Boarder
Posts: 41
Joined: 17.07.2007, 06:30

Post by mse »

I am the MSEide+MSEgui development team + some hard working testers. ;-)
Is the ZEOSLIB license compatible to the MSEgui license (it is the same LGPL with the static linking exception as for FPC RTL)?
Are 'one-click' MSE installers available the way they are available for Lazarus?
All you have to do is to setup an MSEide project for the extended ide once and to press F9 to compile and run the extended ide in debugger.
The MSEgui visual and non visual SQL DB components are based on tmsebufdataset (an rewritten FPC TBufDataset with "TClientDataset" capabilities) and modified TSQLQuery and SQL connection components.
tmsebufdataset and the whole MSEgui store strings in UCS2/utf16.

Martin
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

We did change the licence texts a little to make it Lazarus compliant. I think last release has the new texts already. Just check as I'm not really a lawyer...

I'll try to give mse a try. Hope it goes right the first time. I have had fights with Lazarus compiling (nightly build, admitted) and I didn't like it. So now I just use an official build to start from.
mse
Junior Boarder
Junior Boarder
Posts: 41
Joined: 17.07.2007, 06:30

Post by mse »

I'll try to give mse a try. Hope it goes right the first time. I have had fights with Lazarus compiling (nightly build, admitted) and I didn't like it. So now I just use an official build to start from.
Please follow the installation guidelines in
http://www.homepage.bluewin.ch/msegui/
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

Hi again.

I was able to build a GUI containing the zeoslib components!!
All I had to do was add the registercomponents command and the necessary unit names to regmycomps.pas in the myide project. To compile you have to add compiler option -Sd (I hope somebody can add it only for zeoslib compilation?) and add the zeoslib source dirs to the path.

Is there somebody out there willing to make and test a clean installation package for MSEIDE? I suppose it's just about making some component registration unit, and some compiler directives tricks and an installation 'manual'. Installation for MSE will always be a little 'manual work', I think.

Mark
mse
Junior Boarder
Junior Boarder
Posts: 41
Joined: 17.07.2007, 06:30

Post by mse »

I was able to build a GUI containing the zeoslib components!!
:-)
To compile you have to add compiler option -Sd (I hope somebody can add it only for zeoslib compilation?) and add the zeoslib source dirs to the path.
Please add "{$ifdef FPC}{$mode delphi}{$endif}" on top of the ZeosLib units.
The MSEgui units have "{$ifdef FPC}{$mode objfpc}{$endif}", so it is also possible to add -Mdelphi to the compiler options ('Project'-'Options'-'Make'-'Make options').
Add the ZeosLib unit dirs to 'Unit, include and library directories'.
Suggestion: define a macro (example 'ZEOSLIBDIR') in 'Project'-'Options'-'Macros' for easy switching the ZeosLib root directory. Accessing of the macro is done by '${ZEOSLIBDIR}'.

Have a lot of fun with MSEide+MSEgui!

Martin
mse
Junior Boarder
Junior Boarder
Posts: 41
Joined: 17.07.2007, 06:30

Post by mse »

MSEide+MSEgui trunk rev. 1371 has ZeosLib capability.
How to build MSEide with ZeosLib integration
********************************************

1. Download and install SVN:
http://subversion.tigris.org/project_packages.html

2. Create <yourmsecheckoutdir>.
3. cd <yourmsecheckoutdir>
4. Execute
"
svn co https://mseide-msegui.svn.sourceforge.n ... egui/trunk .
"
(note the dot at line end to use the current directory as destination).

5. Create <yourzeoscheckoutdir>.
6. cd <yourzeoscheckoutdir>
7. Execute
"
svn co svn://firmos.at/zeos/trunk .
"
(note the dot at line end to use the current directory as destination).

- Download and install MSEide+MSEgui version 1.2, follow the instructions on:
http://www.homepage.bluewin.ch/msegui/

8. Run <yourdirectory>/bin/i386-linux/mseide on Linux or
<yourdirectory>\bin\i386-win32\mseide.exe on Windows.
9. 'Project'-'Open' (not File-Open!!!!!).
10. Select <yourmsecheckoutdir>/apps/ide/templates/zeos.prj.
11. 'Project'-'Options'-'Macros'.
12. Adjust 'Value' of "msedir" to <yourmsecheckoutdir>/, don't forget
the trailing path delimiter.
13. Adjust 'Value' of "zeosdir" to <yourzeoscheckoutdir>/, don't forget
the trailing path delimiter.

14. 'Project'-'Open' (not File-Open!!!!!).
15. Select <yourmsecheckoutdir>/apps/ide/mseide_zeos.prj.
16. 'Project'-'Options'-'Macros'.
17. Adjust 'Value' of "msedir" to <yourmsecheckoutdir>/, don't forget
the trailing path delimiter.
18. Adjust 'Value' of "zeosdir" to <yourzeoscheckoutdir>/, don't forget
the trailing path delimiter.
19. 'Target'-'Continue', the IDE with Zeos integration will be compiled and
started in debugger.

The IDE binary is <yourmsecheckoutdir>/apps/ide/mseide_zeos,
to remove the debug info run strip or compile the mseide_zeos project with
'Project'-'Make 4'.
To start a new Zeos project select 'Project'-'New'-'From Template'
<yourmsecheckoutdir>/apps/ide/templates/zeos.prj.

*WARNING* ZeosLib compiled with FPC 2.0.4 has giant memory leaks,
use FPC 2.0.5 or FPC 2.1.5.
In order to compile with FPC 2.1.5 add -dmse_FPC_2_2 to the compiler options,
ZeosLib trunk needs a little patch.
Image
Image
gury
Fresh Boarder
Fresh Boarder
Posts: 9
Joined: 16.04.2007, 11:30
Contact:

Post by gury »

Thank you Martin! I will test this as soon as possible. I was not very familiar with MSEide+MSEgui before, but with proper and detailed instalation instructions it should not be problem. And many thanks to you mdaems and to your team, ZEOSlib library is becoming more and more stable / popular.

Hej Martin, are you the one man army with your development? That's truely amazing what great Free Pascal GUI you made for community. ZEOSlib is one of many components which shows MSEide+MSEgui can handle components easily.
You are welcome to visit my homepage: http://gury.atari8.info/
mse
Junior Boarder
Junior Boarder
Posts: 41
Joined: 17.07.2007, 06:30

Post by mse »

Hej Martin, are you the one man army with your development?
Yes, together with some hard working testers.
The main goal of MSEide+MSEgui is to double productivity compared with Delphi/Kylix. This goal has been reached for my projects.
Post Reply