Converting Delphi applications into Appliances...

Posted by on in Blogs
One of the cool and useful presentations at the recent Australian Delphi User Group (ADUG) Autumn (Spring in the northern hemisphere) Symposium help in Melbourne and Sydney, I sat in on a technical session given by Jason Tolley of ROK Technology. ROK Technology is a privately owned Australian company.  One of their core competencies is building embedded and real time systems.

Jason's talk was about how to convert Delphi native code applications so that they run on hardware/software appliances using the Windows Embedded operating sytem.    He defined appliances as "a computing system that is intended for a specific role, function or purpose, also called an embedded system or Applied Computing." At Embarcadero Technologies, one example of an appliances we use is the SPAM firewall computer from Barracuda Networks.

Jason gave several advantages for building appliances including: "Can be made tolerant to power outages – no need for UPS or clean shutdown, Wide range of physical hardware and form factors, Execute entire systems from hard disk, USB, CD-ROM, LAN and Compact Flash." For Delphi application developers his guidance is "if it runs on Windows XP Client, it will run on Windows Embedded Standard – with the right components".

Jason told us about a medical instrument appliance that ROK Technology built using Delphi and Windows Embedded that included a "Fanless, low power (5W) x86 computing platform, 110mmx110mm in size, Windows Embedded Standard, on a 2GB solid state, Compact Flash media, running in read only memory (no pagefile), with a 10.4” LCD with touch screen overlay, and a Multi-threaded Application written in Delphi." The system had four threads running at different priorities: "a) Primary thread – Windows message queue, user interface and interface to threads 2 - 4, b) Thread 2 – I/O interface, c) Thread 3 – Physical hardware interface, d) Thread 4 – Time critical functionality." The project outcomes included: "Performance was better than expected, timings were within +/- 2%, and inputs were scanned every 10 miliseconds".

Jason also told the audience about ReactOS, an alpha-stage, that on their website says ReactOS is a "free, modern operating system based on the design of Windows® XP/2003. Written completely from scratch, it aims to follow the Windows® architecture designed by Microsoft from the hardware level right through to the application level."

Jason is going to visit us in Scotts Valley.  I'll write more about how ROK Technology is using Delphi to build appliances.  If you are building embedded applications for appliances running Windows you should consider using Delphi and C++Builder to rapidly prototype, build, test, and deploy your native code solutions.  Delphi - from prototype to production and from inspiration to application (appliance).

[David I. note - quoted sections of text used in this blog post denote text taken directly from Jason's ADUG presentation or from the web sites I referenced.]


About
Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.

Comments

  • Guest
    FlyLow Wednesday, 29 April 2009

    Same here. I'm working on embedded Linux on ARM-9 an wishing I could use Delphi instead of C++.

    From my POV Delphi needs to support more platforms.

  • Guest
    m. Th. Wednesday, 29 April 2009

    "one example of an appliances we use is the SPAM firewall computer from Barracuda Networks." Yes, I know. :-( I've exchanged some eMails with some team members till yesterday when I received an 'Mail delivery failed' message containing among others...



    host relay01.embarcadero.com []:
    554 Service unavailable; Client host [s1.neomailbox.com] blocked using Barracuda Reputation;



    ...also I wanted to send you some scenarios for tooling (as per one of your previous posts) but I cannot due of the above error.

    Can you fix it?

    Sorry for hijacking the post.

    ...and finally to be constructive and on topic, yes, as a first stage a cross-compiling Delphi with a minimal graphical library targeting embbeded & server markets will be an appealing solution. Linux (Apache) dominates the server part. (see netcraft.com 's data) while of course Windows is still the king of the desktop.

  • Guest
    Leonardo Wednesday, 29 April 2009

    David, when you mention that ROK is creating appliances with Delphi and Windows Embedded, are you talking about Delphi Win32 or Prism?

    Leonardo.

  • Guest
    David Intersimone Wednesday, 29 April 2009

    Leonardo - Delphi Win32 - native code!

  • Guest
    David Intersimone Wednesday, 29 April 2009

    > FlyLow | April 29, 2009 at 7:47 pm | Permalink
    > Same here. I’m working on embedded Linux on ARM-9 an wishing I could use Delphi instead of C++.
    > From my POV Delphi needs to support more platforms

    I agree - we now have Delphi Win32, Delphi Prism .NET. We need Delphi Everywhere! Stay tuned :)

  • Guest
    David Intersimone Wednesday, 29 April 2009

    > m. Th. | April 29, 2009 at 10:40 pm
    > as a first stage a cross-compiling Delphi with a minimal graphical library targeting embbeded & server markets will be an appealing solution. Linux (Apache) dominates the server part. (see netcraft.com ’s data) while of course Windows is still the king of the desktop.

    Server side for sure. But developers also want desktops other than windows, especially for Macintosh OSX

  • Guest
    volvox Wednesday, 29 April 2009

    Some years ago (2002), i did work in projects in collaboration with Schlumberger (Germany / France) and National Instrument whose purpose was to embed Delphi 4 applications within industrial appliances (welding automation, robots etc.).

  • Guest
    FlyLow Thursday, 30 April 2009

    David, that sounds interesting. Definitely staying tuned. Hoping for a native solution ;)

  • Guest
    FlyLow Thursday, 30 April 2009

    Yes, FreePascal covers a lot. It needs more polish and a better frontend though. Better and more documentation. Without commercial backing, I don't see it going anywhere.

  • Guest
    Daniel Luyo Monday, 4 May 2009

    I'm already smelling a crosscompiler for Delphi... at first for Linux and OSX...
    Native WinCE is very simillar (lots of same dll's) to Win so it shouldn't be that hard to have a crosscompiler for it, crossing fingers

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: