Delphi Prism for cross-platform projects: Started a project

As I suspected Delphi Prism is ideal for my purposes. Since I am a hobby linguist, my program is a Hebrew verb conjugation application. I am trying to formulate all necessary rules including all exceptions in Pascal. Last year I implemented a working prototype in Objective-C.

http://web.mac.com/ajbrehm/Home/Software.html

It worked, but wasn't portable; and Cocoa is a bit of a hassle when it comes to string manipulation since it offers no native support for unicode regular expressions. I can re-use the GUI.

This is how I am planning to proceed, slowly, of course, since I am lazy and not exactly super-bright when it comes to programming.

The class tree will be the same as in the Cocoa version. It is described here:

http://web.mac.com/ajbrehm/Home/Blog/Entries/2008/8/24_Conjugator.html

(Is there a way in Delphi Prism to have the IDE create these class diagram thingies?)

The Word and Conjugation classes and Conjugation's subclasses will be implemented in a DLL which can then be used by a GUI-based application. (I am a bit unclear as to whether words, i.e. instances of Word, should be created in the DLL project or each GUI project. I assume this will become obvious once I understand what I am doing.)

I am working on letting the DLL project and a Winforms project grow side by side until the GUI represents everything the DLL can do and then I'll add a Cocoa GUI while working on perfecting the DLL and then finally add a Linux/GTK GUI and a WPF GUI as well to get four versions of the program, just for the heck of it.

Are there any obvious pitfalls I am headed for?
0
Andrew
7/16/2009 3:27:03 PM
embarcadero.delphiprism 374 articles. 0 followers. Follow

11 Replies
784 Views

Similar Articles

[PageSpeed] 45

Are you planning to release the source code under some open source license?

It would be interesting to have such a cross-platform and cross-toolkit 
application with source code.

I don't think something like this exists yet, does it?

-- 
Regards
Jens
0
Utf
7/17/2009 1:23:39 PM
> {quote:title=Jens Mühlenhoff wrote:}{quote}
> Are you planning to release the source code under some open source license?

Yes.

In fact the source for the Cocoa version is available for download. But it's a dead end because without regular expressions this is difficult to implement and since Cocoa is not portable the entire open source thing doesn't make as much sense as it could.



> It would be interesting to have such a cross-platform and cross-toolkit 
> application with source code.

I had this idea a few months ago (hence the Cocoa prototype) and then discussed it with my Hebrew teacher in Ramat Yishai. My goal is to learn Delphi and study Hebrew grammar at the same time and then make it possible for others to use the program to learn conjugation as well.


 
> I don't think something like this exists yet, does it?

I don't think so. Most such programs have lists of pre-determined verbs. This one will explore the actual rules.

And learning more .NET can never hurt either. :-)

Edited by: Andrew Brehm on Jul 17, 2009 3:03 PM
0
Andrew
7/17/2009 2:03:43 PM
It's coming along.

I now have a class TConjugation (should I name classes like that?) which contains methods and fields common to all conjugation types. I have a subclass TConjugationPa3al which represents a specific conjugation (there will be more of those). And I have a TWord class which is a word. (Since "Word" is also a built-in type, I use "element" as a variable name instead of "word" to avoid confusing Intellisense.)

When a TWord (word) is created, the word creates a variable "conjugation" of the type TConjugation which at runtime gets initialised as "new TConjugationPa3al". (Can I do this? It seems to work. It's how I did it in Objective-C.)

The whole thing is a DLL and I have a Winforms app as test program. Everything seems to work so far.

Any comments, ideas, criticisms?
0
Andrew
7/21/2009 10:38:51 AM
Andrew Brehm a écrit :

> The whole thing is a DLL and I have a Winforms app as test program.
> Everything seems to work so far.
> 
> Any comments, ideas, criticisms?

The main thing to remember is to avoid writing any business logic at all 
in your Winforms form classes and to write your own "Controller" classes 
for use with WinForms :-)

Joanna

-- 
Joanna Carter [TeamB|http://www.teamb.com]
Consultant Software Engineer
0
Joanna
7/21/2009 11:14:32 AM
> {quote:title=Joanna Carter wrote:}{quote}

> 
> The main thing to remember is to avoid writing any business logic at all 
> in your Winforms form classes and to write your own "Controller" classes 
> for use with WinForms :-)
> 

Yes, I am trying that.

I still have to create words in the controller classes, unless I find a way around that. Maybe the controller classes should create a common interface towards another project (or class in the original DLL)?

The DLL currently uses Windows.Forms for message boxes that help me debug stuff. (I don't know how to use the debugger reliably for strings in high unicodes that read from right to left.)

Once everything works and the only bugs left are in the business logic, I'll remove those references.
0
Andrew
7/21/2009 12:23:39 PM
You MIGHT like using Eco5 for diagramming and maintaining your model.  Checkout CapableObjects.  I think RemObjects also has some sort of modeling, but I don't think it is Model Driven as Eco is.  (I haven't looked at either of them thoroughly, but have looked at Eco5 more).

Also, although there is a learning curve involved and it is not currently supported out of the box by Prism, I would strongly recommend Silverlight 3 rtw instead of WinForms.  Silverlight can run in and out of the browser and can be run in FF, IE plus others and it will run on the Macs (and I believe Linux, but I don't really know).

There are many great "Getting Started" videos on Silverlight at silverlight.net.  These videos are THE WAY to learn stuff nowadays imho.  Most are short and to the point.

I think there are a couple of videos for Eco also.


(I tried to make a hyperlink on the page, but it doesn't seem to work anymore)
0
Mark
7/21/2009 1:50:53 PM
> {quote:title=Mark Tiede wrote:}{quote}
> You MIGHT like using Eco5 for diagramming and maintaining your model.  Checkout CapableObjects.  I think RemObjects also has some sort of modeling, but I don't think it is Model Driven as Eco is.  (I haven't looked at either of them thoroughly, but have looked at Eco5 more).
> 
> Also, although there is a learning curve involved and it is not currently supported out of the box by Prism, I would strongly recommend Silverlight 3 rtw instead of WinForms.  Silverlight can run in and out of the browser and can be run in FF, IE plus others and it will run on the Macs (and I believe Linux, but I don't really know).
> 
> There are many great "Getting Started" videos on Silverlight at silverlight.net.  These videos are THE WAY to learn stuff nowadays imho.  Most are short and to the point.
> 
> I think there are a couple of videos for Eco also.
> 
> 

Sounds interesting.

GUIs are easily replaceable. The first GUI will be Winforms simply because it's the easiest and that GUI will also be my main debugging tool.

The Monobjc/Cocoa GUI comes next. I also want to add a Linux (Gtk) GUI. I'll happily add more GUI types.

I am doing this to learn Delphi Prism, GUI toolkits, and Hebrew grammar at the same time. :-)

Silverlight sounds interesting...

(I have a test program in C# that actually determines at runtime whether it is running on Windows or Mac OS X and then builds Cocoa or Winforms windows depending on usefulness. It works but is difficult to maintain.)

Edited by: Andrew Brehm on Jul 21, 2009 3:16 PM
0
Andrew
7/21/2009 2:16:30 PM
Check out those silverlight videos :-)  It really is easy.  And far more flexible and powerful than WinForms.
0
Mark
7/21/2009 5:44:22 PM
Mark Tiede <> wrote:

> Check out those silverlight videos :-)  It really is easy.  And far more
> flexible and powerful than WinForms.

I thought Silverlight was really for browsers, like Flash?

I'll look into those videos tomorrow.
0
Andrew
7/21/2009 8:35:05 PM
Well, it IS for browsers, but I would say not quite like Flash.  One can make a complete normal UI application without any media which I think is what most people use Flash for.  Silverlight can ALSO do media and all kinds of fancy interfaces including 3d moving forms if you want.  But you don't have to get that fancy.

The standard stuff let's you create menus, popups, textboxes, labels, and the like.  But you can also bind them to data objects properties, etc. etc.

Let me know if you can't find the videos.  If you want to use Silverlight, I can help you get it going with Prism.  You can also get a free trial version of Blend that is good until September and that can help you get the hang of xaml interactively.
0
Mark
7/21/2009 9:22:20 PM
Mark Tiede <> wrote:

> Well, it IS for browsers, but I would say not quite like Flash.  One can
> make a complete normal UI application without any media which I think is
> what most people use Flash for.  Silverlight can ALSO do media and all
> kinds of fancy interfaces including 3d moving forms if you want.  But you
> don't have to get that fancy.

I don't think I can deal with graphics. Maths is not my strength. I am a
text guy.

 
> The standard stuff let's you create menus, popups, textboxes, labels, and
> the like.  But you can also bind them to data objects properties, etc.
> etc.

Textboxes sound good. I want textboxes. :-)


> Let me know if you can't find the videos.  If you want to use Silverlight,
> I can help you get it going with Prism. 

Thank you. I will definitely dive into Silverlight as well. I figure I
can try out all GUI toolkits given that my program is mainly a DLL with
a simple GUI.


> You can also get a free trial
> version of Blend that is good until September and that can help you get
> the hang of xaml interactively.

I'll get Blend.
0
Andrew
7/21/2009 9:46:12 PM
Reply:

Similar Artilces:

What are these files: Project.ilc, Project.ild, Project.ilf, Project.ils
Hello there, I am using XE c++ builder. What are these files used for? They are in the same directory where the final output (.exe) is. Is there a way to `remove` them after - let`s say - successful compilation/linking? They are Incremental linker files. Turn off the option in your project Options if you do not want them. Larry "Tamas Csabina" wrote in message news:418738@forums.embarcadero.com... Hello there, I am using XE c++ builder. What are these files used for? They are in the same directory where the final output (.exe) is. Is there a way t...

Delphi and C++ projects in the same project group
Really basic one. I have a project that comprises of some BCB / C++ projects and a single Delphi DLL. If it possible to add this Delphi Dll to the BCB project group in BDS 2009, or do I have to open Delphi separately and compile it independently of the BCB project group? Many thanks Mike C Please ignore. I've worked it out. Opened RAD studio instead of BCB or Delphi. This seems to allow me to add my Delphi DLL. Mike C "Mike Collins" <its@TheBottomOfThePost> wrote in message ...

Convert a Delphi 2006 WinForms project to Delphi Prism
How can I go about doing this short of recreating the project and transfering code? Just wondering what to expect if we go to Prism. Thanks. -- Don Gollahon Don Gollahon wrote: > How can I go about doing this short of recreating the project and > transfering code? > > Just wondering what to expect if we go to Prism. > > Thanks. Hi Don, Have you checked out the migration tool Oxidizer ? http://prismwiki.codegear.com/en/Oxidizer Cheers, John -- John Moshakis wrote: >Don Gollahon wrote: > >> How can I go about doing th...

delete project from recent project on the start page
Hi How to delete project from recent projects window on the start page? I have deleted the project from file server and project folder. but, do not know how to delete it from recent projects. Thanks. Xiuxian     I think it should go away if you click on it to try to open it....gabriel magaña...

Project Listing
Project Listing - Start page only lists 4 projects Is there a way to have it list more than 4 projects? I have created about 10 projects and I am still only having the last 4 worked on listed. This may be a simple question but I have been confused by this and have not seen a setting anywhere for this. Currently looking for the same solution. If anyone is aware of the setting, please reply. My notebook keeps a long list of projects, but my desktop seems to only keep the last 4, and they're not the last 4 I've opened, AND the dates aren't being updated. Seems like my start page is co...

Delphi Prism and Cross-Platform
I own a copy of Oxygene . I only used it for some ASP.NET developement and never really looked at its Mono integration. Now its going to be shipped under a new brand with some new features. Now I wonder to what level we'll be able to deploy cross platform applications. Today I started a new app in Oxygene but couldn't figure out how to target mono. There are separate project templates under MonOxide category called Cocoa(Tiger), Cocoa(Leopard), WinForms (MAC OS X) and GTK#. 1) Can I start a new Windows Forms project and target it for all platforms? or 2) Should I s...

add projects to a project
hi, just wanted to ask , i have a Class Library project and added for it 2 new Class Library projects now ofcourse when i compile the projects ti give mes 3 dll files and to add it to other projects i have to add the three dlls is there anyway to add only the dll files to the main project dll in compile time..or its just i have to take the three dll and it to my projects Thanks in advance Mahmoud Manasrah Each project under your solution produces its own dll, I don't think there is anyway to combine them at compile time.I could write a signature here, but who'd read it?...

Delphi XE5
Hi :-) Installed Delphi XE5 (RAD Studio Enterprise) and used it for a while. Then I changed the installation and added the mobile parts to do mobile Application Development. Installation gave no errors and I can start the Android emulator and I see my mobile phone Connects fine and becomes an available target. When starting a New blank (or any other) mobile Project I can not compile. Get the same error every time. Even when doing nothing at all before compiling. [DCC Fatal Error] Project1.dpr(1): F1027 Unit not found: 'System.pas' or binary equivalents (.dcu/.o) Cannot ...

IDE Projects list does not Sort projects in Group Project window
CG2010, C++,Default IDE layout, the projects pane on the right, has a "Sort" icon...no matter what I option choose, it will not sort list...Jesus, don't you guys check this stuff before you send it out.... ...

Using Ajax Web Projects with WAP projects and WSP Projects
Ok, here's the scoop.  We are using VB.NET and all WAP projects that are running over a .NET 2.0 framework. I guess this place did some sort of conversion with their .NET 1.1 WAP projects so that now it can compile and use the .NET 2.0 framework and so we thank goodness are using at least VS 2005. With that, I have some questions and concerns.  1) If and when we ever try to move our projects from the format of WAP to WSP, can you run both types side by side in the same environment and utilize assemblies from eacy type of web project? 2) Can you run an Ajax Web Project side by si...

Delphi Project X Cross GUI
What will be the Delphi Project X Cross GUI ? - Qt4 - wxWindows - VCL 2.0 - ??? What is your estimation? Ralf Stocker a écrit : > What will be the Delphi Project X Cross GUI ? > > - Qt4 > - wxWindows > - VCL 2.0 > - ??? > > What is your estimation? My estimation is that you just want to start yet another speculative thread because you are bored. Joanna -- Joanna Carter [TeamB|http://www.teamb.com] Consultant Software Engineer Ralf Stocker wrote: > What will be the Delphi Project X Cross GUI ? Only Embt can answer this...

how to get rid of old projects in recent project windows of start page?
Hi,  i defined some http projects (not file system) which appear in the window "Recent projects" in the start page. Some are now deleted, but when i click on the link in the recent project window, i only get the message that "it doesn't exist anymore". With file system projects, VWD proposes to delete the link, but not with http projects. So how can i remove those obsoleted links in the recent projects? Thanks Cl. give this a read: http://support.microsoft.com/kb/919486  Mike Banavige~~~~~~~~~~~~Need a site code sample in a different language? Try co...

How to start Delphi without opening the last project?
I have fixed this in my previous life (before my laptop crashed last week) but I can't remember how I did it so now whenever I open Delphi it also opens the last project I worked on. I don't want this, but how to fix it? I am using Delphi7, BDS2007 and now installed also Delphi2007, next is XE. -- Bo Berglund Developer in Sweden Bo Berglund wrote: > I have fixed this in my previous life (before my laptop crashed last > week) but I can't remember how I did it so now whenever I open Delphi > it also opens the last project I worked on. I don't want this...

Delphi Prism Script for .Net free project
I'm looking at Delphi Prism primarily because of the Script for .Net project you provide since I need to include ECMA Scripting within a .Net application. The Script for .Net project is an incredibly usefull starting point for me. However looking at your C# Debugger solution lvErrors on MainForm.cs does not seem to be used and when attempting to run an invalid script no error messages are displayed. I've tried to understand what is happening and have debugged the code to a call to ECMAScriptLanguageCon text.CompileSourceCode into which an ErrorSink class is passed as a parameter. ...

Web resources about - Delphi Prism for cross-platform projects: Started a project - embarcadero.delphiprism

Cross-platform interchange - Wikipedia, the free encyclopedia
Double cross platform interchange looking from one train through another train (which has its doors open on both sides) to reveal a third train. ...

INFOGRAPHIC: 63 Percent Of Cross-Platform Gamers Discovered Facebook Games Via Friends
A total of 63 percent of cross-platform gamers who responded to a recent study by casual games developer Arkadium said they discovered Facebook ...

Facebook announces the new Atlas: a cross-platform ad network
... announced the relaunch in a blog post: Atlas delivers people-based marketing , helping marketers reach real people across devices, platforms ...

The Shift-Option-K Apple Logo Glyph Is Not Cross-Platform
... property. You could argue that it’s the single most valuable IP asset the company owns. This means the glyph does not render on platforms other ...

Producteev - Cross Platform and Free Task Management for iPhone, iPod touch, and iPad on the iTunes App ...
Get Producteev - Cross Platform and Free Task Management on the App Store. See screenshots and ratings, and read customer reviews.

Cross Media Social Platform - YouTube
The Cross Media Social Platform (CMSP) is a unique 3D multiparty live chat platform currently broadcasting a 3D environment on TV merged with ...

Disney’s ‘Movies Anywhere’ app comes to Android, brings cross-platform purchases to iTunes, Google Play ...
... be able to access their movie library featuring titles from Disney, Pixar, and Marvel from any of their devices. Because this is a cross-platform ...

The CMO's Guide to Cross-Platform Measurement
It's a simple request: Explain how a cross-platform media campaign is working. But delivering on it has been a monumental challenge that's never ...

Foursquare Launches Pinpoint: Cross-Platform, Location-based Ad Targeting
... trove of location data. Now it’s time to make more lucrative use of that. Foursquare announced today the launch of Pinpoint , a cross-platform, ...

Zynga to Launch Cross-Platform Gaming Network, "Zynga With Friends"
... million people play the company’s games each month. The problem is, Zynga says, those players are scattered across multiple devices and platforms, ...

Resources last updated: 12/8/2015 11:09:55 PM