Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Delphi -> Kylix

Posted on 2003-11-11
3
Medium Priority
?
494 Views
Last Modified: 2010-04-05
We're starting a project which will probably have to use Linux. This is because it is a safety-related system and XP is not allowed to be used for such systems. Linux is because it can be formally proved to be safe.

Now, that handily means that we can use Kylix to do the development. Having had something like 8 years of experience with Delphi, I have had none with Kylix beyond getting it out of the box, running it, and doing a "hello world" program.

Can anybody with *experience* please list the pitfalls and differences between Delphi and Kylix? Possible issues I can think of right now that we will need: multithreading, multiple serial ports (ie more than COM1 and COM2, an expansion serial card or two), a parallel IO card (eg ICP/DAS or MOXA), TCP/IP networking (TServerSocket and TClientSocket would be VERY useful...), and event logging (equivalent to NT event log).

Superfluous rubbish like COM, SOAP, etc are most definitely NOT required. Simple, fast, proven, raw socket comms are all that is needed, something which I have a large amount of experience in anyway.

Thanks

Geoff M.
0
Comment
Question by:gmayo
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 7

Assisted Solution

by:jconde
jconde earned 300 total points
ID: 9726949
This is just my personal opinion so please listen to other expert opinions.

First of all ... I have heard the rumor Borland won't be supporting the CLX framework anymore so if its true, you probably might want to stay away from kylix.

Second ... Kylix, unlike delphi is very slow to develope with !! ... I have found tons of bugs in V3 and I personally don't like it.  What I have done in the past is develope my app in Delphi using the CLX framework and then "make" it compile using kylix.

Third ... I think Qt is light-years ahead of kylix in terms of stability, it has excellent support and its a very easy GUI framework to learn.  If I had to make the desision between Kylix or Qt, I would definitely choose Qt assuming my app was to be developed for Linux only.

Also, Kylix is based on very old versions of Qt ... I beleive its 2.X and the current version is 3.2 !!

I have a theory that most open-source developers in the Win32 platform use Delphi .... Unfortunatley that does not apply in Linux where 98% of everything is either C or C++.

Did I mention Kylix apps can't be compiled statically and they require tons of shared libraries to be installed ??

I know my post doesn't remotely answer your question, but for what its worth, I suggest you start off with the right foot in place and consider Qt or GTK instead of Kylix.

Regarding Qt, it has excellent TCP/IP networking, thread support and many other nice features.  Regarding the parallel IO card or multiple serial ports ... that's quite simple under Linux because unlike Window, Linux treats everything as files.
0
 
LVL 2

Assisted Solution

by:EdHillmann
EdHillmann earned 300 total points
ID: 9726971
I haven't done it myself, but this was my understanding when it came to Delphi/Kylix applications.

If your applications do not contain low-level API calls, then you could take the source from Delphi and compile it in Kylix.  Although, you need to be sure that the Delphi application uses CLX components and not VCL components.  I'm guessing that your application is not visual (?), so this may not be a problem.  Essentially, Delphi contains VCL (which will most likely remain tailored to Win32 libraries) and CLX components.  Kylix only contains CLX components.  And Borland has always stressed that any application that is to be cross platform should be written to the CLX components.  At least at the onset, there was no intention by Borland in making native VCL applications cross-platform.

If you're application does contain native API calls, then the recommended approach is as follows:

Define your own classes which wrap these native calls.  Your application should uses these classes when accessing the data managed by the native APIS.  Then, you would need to have two implementation of these classes: one for Win32, one for Linux.  When the application compiles, you can use ifdef statements to ensure that the appropriate class is compiled/used (I believe).

As far as your specific examples, I think that as long as you're using TThread and not making any API calls, you should be OK (I'm not 100% confident on this).  And I'm not knowledgeable enough about the serial ports or TCP/IP classes to provide any guidance. Sorry!
0
 
LVL 5

Accepted Solution

by:
DeerBear earned 400 total points
ID: 9731343
Hi Geoff,

Beware of Indy <g>.

It's been having some problems to what I remember with Kylix, thus pay attention.

I strongly doubt you'll find TServerSocket on Kylix.

As to COM ports, they assume the form TTYS0/1/N and you access them as files, in the
/dev mount point.

If you need more input, just whistle here :-)

HTH,

Andrew
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Suggested Courses

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question