Summary: Delphi Prism targets .Net and Mono and is based on the Visual Studio.Net IDE.
KB101640
RemObjects Software and Embarcadero Technologies have announced that they will join forces to develop and release Delphi Prism, a next generation development suite for .NET and Mono, based on RemObjects Software's Oxygene compiler technology.
Delphi Prism will replace both Delphi for .NET and the existing Oxygene product, allowing the two companies to work together on providing one unified solution for managed development
Key Points:
Install Delphi Prism as a plug-in to Visual Studio or run as a standalone development tool.
Targets .Net and Mono.
Target .NET applications using the latest Microsoft .NET 3.5 technologies such as WinForms, WPF, Silverlight, ASP.NET, and LINQ'
Mac OS X and Linux with open source CLR technologies such as Mono and Cocoa#'
Build Windows applications first and foremost but also build Mac and Linux applications for added flexibility.
Integrated managed code database engine targeting Windows, Mac OS X, and Linux.
Supports all CLS features such as generics, sequences, queries and parallel computing.
No VCL.Net (this Delphi for .Net feature was dropped).
After you install Delphi Prism, if you already have Visual Studio.Net installed, you will have an extra "Delphi Prism" New Project group. If you don't have VS.Net installed, the installation will automatically install the VS.Net shell.
My installation installed into a RemObjects Oxygene group perhaps because I had Oxygene installed but I imagine CodeGear will change the group to Delphi Prism or RAD Developer Studio or something similar.
Optionally, the installation will install the current version of Mono for Windows as well for cross platform Mono development.
Sample Project
Here is a simple WinForms project with a single form with a single button.
Program.pas
Program.pas is the new dpr project-like file.
Visual Studio.Net uses the concept of a solution file and project file to store solution and project level settings. That means a slight change for the Delphi traditional-project file (now a Program.pas file).
Here's an example:
namespace ButtonsP;
interface
uses System.Threading, System.Windows.Forms;
type Program = assembly static class private class method OnThreadException(sender: Object; e: ThreadExceptionEventArgs); public class method Main; end;
implementation
/// <summary> /// The main entry point for the application. /// </summary> [STAThread]
class method Program.Main; begin Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += OnThreadException;
using lMainForm := new MainForm do
Application.Run(lMainForm);
end;
/// <summary>
/// Default exception handler
/// </summary>
class method Program.OnThreadException(sender: Object; e: ThreadExceptionEventArgs);
begin
MessageBox.Show(e.Exception.Message);
end;
end.
Notice the Main method which is the entry point for the executable. All .NET projects except for DLLs have one.
Main.pas
Sample Form Code
Here's the form code for our simple example with one form with one button and a Click event handler