Board index » kylix » Time for a revival

Time for a revival


2006-02-18 12:03:57 PM
kylix0
Ok here's little resume how K3 (Delphi) works PERFECTLY under SuSE 10.
The following instructions are for a user installation (not root)
In your "startdelphi" script, add the following lines:
export LD_ASSUME_KERNEL=2.4.21
export LANG=de_CH //in my case, just remove the UTF8-part for your language.
export LD_PRELOAD=/home/theo/kylix3/bin/ptrace_interposer.so //adjust
path for your situation and download this file currently from
b.p.d.attachments
for my keyboard, I had to add the line:
xmodmap /home/theo/kylix3/KylXmodmap
where KylXmodmap looks like (in my case:)
!! Kylix Keyboard Patch for Swiss German Keyboard
clear mod5
keycode 10 = 1 plus bar exclamdown bar exclamdown
keycode 11 = 2 quotedbl at oneeighth at oneeighth
keycode 12 = 3 asterisk numbersign sterling numbersign sterling
keycode 15 = 6 ampersand notsign fiveeighths notsign fiveeighths
keycode 16 = 7 slash brokenbar seveneighths brokenbar seveneighths
keycode 17 = 8 parenleft cent trademark cent trademark
keycode 20 = apostrophe question dead_acute questiondown dead_acute
questiondown
keycode 21 = dead_circumflex dead_grave asciitilde dead_ogonek
dead_tilde dead_ogonek
keycode 26 = e E EuroSign NoSymbol EuroSign
keycode 48 = adiaeresis agrave braceleft dead_caron braceleft dead_caron
keycode 34 = udiaeresis egrave bracketleft dead_abovering bracketleft
dead_abovering
keycode 35 = dead_diaeresis exclam bracketright dead_macron bracketright
dead_macron
keycode 51 = dollar sterling braceright dead_breve braceright dead_breve
keycode 94 = less greater backslash brokenbar backslash brokenbar
keycode 113 = Mode_switch
add mod5 = Mode_switch
This is ONLY for a Swiss German Keyboard, but it shows how to do it for
other Keyboards.
Note that this does not work for German keyboards.
If you have KDE, disable that focus stealing thingie ->in German:
Kontrollzentrum ->Fentstereingenschaften ->Vorbeugung gegen
unerwŁnschte Aktivierung ->Keine
To have nice fonts change in
~/.borland/.borlandrc
[Tweak.Layout]
WineLook=KDE
eventiallly delete ~.kderc
After this, and applying the patches from
andy.jgknet.de/oss/kylix/wiki/index.php/Main_Page
Kylix works like a charm on SUsE 10 KDE
This does not hold for the c++ part, where the linker still sucks.
And completey off topic here, but more good news: since the latest
version of FPC www.freepascal.org, my good old
www.theo.ch/kylix/Qt3pas
compiles with FPC too (e.g. Free Pascal Compiler version 2.0.3
[2006/02/10] for i386, not the one that ships with the latest Lazarus).
btw. LibQtc is still part of the SuSE 10 distribution.
As another proof of concept I've written my own simple POP3Checker with
my Qt3pas in one night. It looks like this on SuSE 10:
www.theo.ch/kylix/popdemo.png
This one compileds with Kylix AND FPC. You may laugh at it, but you have
to admit, that it: looks better and more system conform than anything
written in Kylix CLX (Qt from the last century ;-) or Lazarus LCL.
And it feels way less sluggish, than GTK2 on Lazarus, or Mono.
And there's another thought I'd like to add to it: Delphi (Object
Pascal) and plain QT is a wonderful combination. I almost didn't miss
the VCL.
And to say it again: The ease of Object Pascal (Delphi) combined with
the clean concept of QT would be a promising combination for me for
serious development, Unfortunately, there's no such commercial thing in
sight.
Kylix, Delphi and QT go! Together?
 
 

Re:Time for a revival

theo wrote:
Quote
for my keyboard, I had to add the line:
xmodmap /home/theo/kylix3/KylXmodmap
And this is the file I use (German keyboard [QWERTZ] [!"?%&/()=?]):
!! Kylix 3 AltGr patch - begin
clear mod5
keycode 10 = 1 exclam onesuperior exclamdown
keycode 11 = 2 quotedbl twosuperior
keycode 12 = 3 section threesuperior sterling
keycode 13 = 4 dollar onequarter currency
keycode 14 = 5 percent onehalf
keycode 15 = 6 ampersand threequarters
keycode 16 = 7 slash braceleft
keycode 17 = 8 parenleft bracketleft
keycode 18 = 9 parenright bracketright plusminus
keycode 19 = 0 equal braceright degree
keycode 20 = ssharp question backslash questiondown
keycode 21 = dead_acute dead_grave dead_cedilla dead_ogonek
keycode 24 = q Q at
keycode 26 = e E EuroSign EuroSign
keycode 35 = plus asterisk asciitilde
keycode 94 = less greater bar
keycode 113 = Mode_switch
add mod5 = Mode_switch
!! Kylix 3 AltGr patch - end
Quote
This does not hold for the c++ part, where the linker still sucks.
The problem is that ilink looks for a range of unused memory pages. But
starting with SUSE 10 it does not find a free one and the find function
returns 0, causing an access violation. I already tried to fix this but
with no luck. I also thought about replacing ilink by ldd, because bc++
generates an ld-script if ilink is not found. Unfortunatelly the ld-script
references a non existing file that seems to contain the actual script.
Quote
And completey off topic here, but more good news: since the latest
version of FPC www.freepascal.org, my good old
www.theo.ch/kylix/Qt3pas
compiles with FPC too (e.g. Free Pascal Compiler version 2.0.3
Don't forget Qt3Clx of Kylix and the Qt3 Bindings that Qt3Clx uses which
work on Kylix and FPC.
--
Regards,
Andreas Hausladen
(www.kylix-patch.de.vu - unofficial Kylix 3 patches)
(andy.jgknet.de/blog)
 

Re:Time for a revival

theo wrote:
Quote
Ok here's little resume how K3 (Delphi) works PERFECTLY under SuSE 10.
The following instructions are for a user installation (not root)

In your "startdelphi" script, add the following lines:

export LD_ASSUME_KERNEL=2.4.21
export LANG=de_CH //in my case, just remove the UTF8-part for your language.
export LD_PRELOAD=/home/theo/kylix3/bin/ptrace_interposer.so //adjust
path for your situation and download this file currently from
b.p.d.attachments

for my keyboard, I had to add the line:
xmodmap /home/theo/kylix3/KylXmodmap

where KylXmodmap looks like (in my case:)

--

!! Kylix Keyboard Patch for Swiss German Keyboard

clear mod5
keycode 10 = 1 plus bar exclamdown bar exclamdown
keycode 11 = 2 quotedbl at oneeighth at oneeighth
keycode 12 = 3 asterisk numbersign sterling numbersign sterling
keycode 15 = 6 ampersand notsign fiveeighths notsign fiveeighths
keycode 16 = 7 slash brokenbar seveneighths brokenbar seveneighths
keycode 17 = 8 parenleft cent trademark cent trademark
keycode 20 = apostrophe question dead_acute questiondown dead_acute
questiondown
keycode 21 = dead_circumflex dead_grave asciitilde dead_ogonek
dead_tilde dead_ogonek
keycode 26 = e E EuroSign NoSymbol EuroSign
keycode 48 = adiaeresis agrave braceleft dead_caron braceleft dead_caron
keycode 34 = udiaeresis egrave bracketleft dead_abovering bracketleft
dead_abovering
keycode 35 = dead_diaeresis exclam bracketright dead_macron bracketright
dead_macron
keycode 51 = dollar sterling braceright dead_breve braceright dead_breve
keycode 94 = less greater backslash brokenbar backslash brokenbar
keycode 113 = Mode_switch
add mod5 = Mode_switch


--


This is ONLY for a Swiss German Keyboard, but it shows how to do it for
other Keyboards.
Note that this does not work for German keyboards.

If you have KDE, disable that focus stealing thingie ->in German:
Kontrollzentrum ->Fentstereingenschaften ->Vorbeugung gegen
unerwŁnschte Aktivierung ->Keine

To have nice fonts change in

~/.borland/.borlandrc

[Tweak.Layout]
WineLook=KDE

eventiallly delete ~.kderc

After this, and applying the patches from
andy.jgknet.de/oss/kylix/wiki/index.php/Main_Page

Kylix works like a charm on SUsE 10 KDE

This does not hold for the c++ part, where the linker still sucks.


And completey off topic here, but more good news: since the latest
version of FPC www.freepascal.org, my good old
www.theo.ch/kylix/Qt3pas
compiles with FPC too (e.g. Free Pascal Compiler version 2.0.3
[2006/02/10] for i386, not the one that ships with the latest Lazarus).
btw. LibQtc is still part of the SuSE 10 distribution.

As another proof of concept I've written my own simple POP3Checker with
my Qt3pas in one night. It looks like this on SuSE 10:

www.theo.ch/kylix/popdemo.png

This one compileds with Kylix AND FPC. You may laugh at it, but you have
to admit, that it: looks better and more system conform than anything
written in Kylix CLX (Qt from the last century ;-) or Lazarus LCL.
On Linux, FreeBSD, whatever, yes. However I doubt that people will like
it on Windows or MacOSX.
Quote
And it feels way less sluggish, than GTK2 on Lazarus, or Mono.
And there's another thought I'd like to add to it: Delphi (Object
Pascal) and plain QT is a wonderful combination. I almost didn't miss
the VCL.
It's indeed true that Qt programming is easy. But what people want is to
compile their VCL applications without any change on other OSes with
native look and feel (which is, of course, impossible but it's the
ultimate goal).
Quote

And to say it again: The ease of Object Pascal (Delphi) combined with
the clean concept of QT
Something written in C++ can't be clean ;)
But doing some serious critism:
Qt is monolithic (at least it was at Qt 2/3 times, not sure about 4). Qt
tries not only to be GUI but a framework covering everything. There are
standarized C++ libraries (e.g. the STL) which cover strings, basic
containers etc. but Qt tries to reinvent everything. The framework
nature makes also clean programming in other languages than C++ hard,
for small programs it's ok, but bigger things usually get a mess.
Quote
would be a promising combination for me for
serious development, Unfortunately, there's no such commercial thing in
sight.

Kylix, Delphi and QT go! Together?
 

{smallsort}

Re:Time for a revival

Quote

On Linux, FreeBSD, whatever, yes. However I doubt that people will like
it on Windows or MacOSX.
Sure, as little as I like Win32 Apps running on Linux under wine.
But If I'm talking about a Linux progi I wrote, I'm not talking
automatically about cross-platform.
It looks and works good on Linux - KDE. That's enough for me! ;-)
Quote
It's indeed true that Qt programming is easy. But what people want is to
compile their VCL applications without any change on other OSes with
native look and feel (which is, of course, impossible but it's the
ultimate goal).
You say something true here. It seems impossible. So what to do?
Quote
Qt is monolithic
I like monolithic ;-)
(at least it was at Qt 2/3 times, not sure about 4).
doc.trolltech.com/4.1/modules.html
The framework
Quote
nature makes also clean programming in other languages than C++ hard,
I'm not an expert like you, that's why I don't understand what exactly
the problem is you're talking about here.
Quote
for small programs it's ok, but bigger things usually get a mess.
Bigger things always get a mess .....;-)
 

Re:Time for a revival

Quote


Don't forget Qt3Clx of Kylix and the Qt3 Bindings that Qt3Clx uses which
work on Kylix and FPC.

Who could forget the Qt3Clx? ;-)
Any news about this?
 

Re:Time for a revival

Quote
>
It's indeed true that Qt programming is easy. But what people want is to
compile their VCL applications without any change on other OSes with
native look and feel (which is, of course, impossible but it's the
ultimate goal).


One afterthought:
For me, it's important that the non-visual components are cross
platform. Like Synapse in the above example.
If you separate cleanly the "Worker-Code" from the GUI Code, I think
porting to other platforms / widgetsets is not too hard.
I can't rememeber having written ONE Application which ran with CLX on
Windows. I always quickly made a separate VCL version, sharing the same
"worker-code" with the CLX or LCL or Qt3pas Version.
Cross-Platform GUI-stuff is never satisfactory, whichever way you go.
 

Re:Time for a revival

On 2006-02-18, theo < XXXX@XXXXX.COM >wrote:
Quote

>The framework
>nature makes also clean programming in other languages than C++ hard,

I'm not an expert like you, that's why I don't understand what exactly
the problem is you're talking about here.
I think he means that because Qt ships its own versions of nearly
everything, (data containers, string implementation etc), one has a problem
even with existing C++ code to adapt to Qt. Since they will use non-QT
versions of this.
From what I have seen from QT, I share Florian's opinion.
That of course doesn't mean that it is useless, but makes it harder for long
term, and/or cross-platform use.
 

Re:Time for a revival

theo wrote:
Quote
Who could forget the Qt3Clx? ;-)

Any news about this?
No. The StdCtrls, ExtCtrls and Grids are usable but the ComCtrls have some
problems (performance and SegV)
--
Regards,
Andreas Hausladen
(www.kylix-patch.de.vu - unofficial Kylix 3 patches)
(andy.jgknet.de/blog)
 

Re:Time for a revival

Andreas Hausladen wrote:
Quote
theo wrote:

>Who could forget the Qt3Clx? ;-)
>
>Any news about this?

No. The StdCtrls, ExtCtrls and Grids are usable but the ComCtrls have some
problems (performance and SegV)
I've already fixed QMask (AutoSelect property problem ), rollback on
TCustomMemo to QMultiLineEditH, minor fix in QForms (linux only) for MDI
titlebar repainting ..... what's current problem in ComCtrls (SegV) ?
 

Re:Time for a revival

zeljko wrote:
Quote
I've already fixed QMask (AutoSelect property problem ), rollback on
TCustomMemo to QMultiLineEditH, minor fix in QForms (linux only) for MDI
titlebar repainting ..... what's current problem in ComCtrls (SegV) ?
The TTreeView raises access violations in one of my programs. Because I do
not have much time at the moment, I had not investigated in the bug and
simply switched back to Qt2Clx.
--
Regards,
Andreas Hausladen
(www.kylix-patch.de.vu - unofficial Kylix 3 patches)
(andy.jgknet.de/blog)
 

Re:Time for a revival

Quote
Cross-Platform GUI-stuff is never satisfactory, whichever way you go.
Right on. Seems that the GUI issue always puts a cloud over the whole
cross-platform movement. Why not focus on developing options for core server
functionality, and move as much as possible over to the browser. This
essentially returns the interface to a single-platform, which is now the
browser platform.
If I have good db and communications options, I'll take care of the
interface myself.
James
 

Re:Time for a revival

Andreas Hausladen wrote:
Quote
zeljko wrote:

>I've already fixed QMask (AutoSelect property problem ), rollback on
>TCustomMemo to QMultiLineEditH, minor fix in QForms (linux only) for MDI
>titlebar repainting ..... what's current problem in ComCtrls (SegV) ?

The TTreeView raises access violations in one of my programs. Because I do
not have much time at the moment, I had not investigated in the bug and
simply switched back to Qt2Clx.
huh, I'm using TTreeView ... but don't have AV's, what is scenario for AV ,
maybe I've already fixed that ?
 

Re:Time for a revival

zeljko wrote:
Quote
huh, I'm using TTreeView ... but don't have AV's, what is scenario for
AV , maybe I've already fixed that ?
I have added thousands of nodes. But as I've already written, I haven't
investigated in this bug. Maybe I have used an very old Qt3Clx version.
--
Regards,
Andreas Hausladen
(www.kylix-patch.de.vu - unofficial Kylix 3 patches)
(andy.jgknet.de/blog)
 

Re:Time for a revival

theo wrote:
Quote
And to say it again: The ease of Object Pascal (Delphi) combined with
the clean concept of QT would be a promising combination for me for
serious development, Unfortunately, there's no such commercial thing in
sight.

Kylix, Delphi and QT go! Together?
Why don't you help us build Lazarus instead?
Cross-platform with Kylix and Delphi may seam good, but I see Lazarus
can do much more!
A small list of things that you will never be able to do with Kylix
unless you paciently wait for the new company to implement it:
1 - FPC and Lazarus already produce 64 bits native apps!
2 - Free Pascal already works for Windows CE:
wiki.lazarus.freepascal.org/index.php/Windows_CE_Interface
Next I will do my best so VCL / LCL software can be recompiled for
Windows CE.
3 - Many supported platforms. Lazarus works on Mac OS X, Solaris, all BSDs.
Yes, Qt is very easy. So, I would like to invite you to help me build
Qt interface for Lazarus =)
Alone, on only 5 days of work, and knowing nothing about how LCL works
or how Qt works (on the start of this, of course), look at all the
things I already implemented on the Qt interface for Lazarus:
wiki.lazarus.freepascal.org/index.php/Qt_Interface
And better. Since Free Pascal works for ARM, I plan to use this as a
jump point to implement Qt/Embedded support on Lazarus.
Felipe
 

Re:Time for a revival

Quote

Alone, on only 5 days of work, and knowing nothing about how LCL works
or how Qt works (on the start of this, of course), look at all the
things I already implemented on the Qt interface for Lazarus:

wiki.lazarus.freepascal.org/index.php/Qt_Interface

Thanks for the invitation.
The point is, that I'm really lazy.
I wrote the Qt3Objects.pas with extremely little handcraft.
I just wrote a post-processor to HeadConv's output of the Qtc Headers.
And the Qt3Objects were made by a program which generated code from the
so generated Qt3.pas.
The "handcraft" part of this is about 2%.
There are other projects which are way more advanced compared to what I did:
andy.jgknet.de/oss/kylix/wiki/index.php/Qt3Clx
But adapting the code to CLX or LCL this is definitely a different job.
I wish anybody involved in this good luck and a lot of energy.
I'm looking forward to see a Qt4 for LCL!!!