You are browsing the archive for Metro.

Oxygene on the Big Screen

January 4, 2013 in Android, Elements, iOS, Java, Mac, Metro, Windows, Windows Phone

Android powered Ouya ConsoleYou already know Oxygene is the best choice for mobile development – Oxygene for Java on Android, Oxygene for .NET for Windows Phone and the Windows RT Surface and the beta “Nougat” already providing great support for iOS development. But what if you want to develop on the big screen? Like that 50 plus inch TV in your front room?

Enter the Ouya, the Android powered game console for your TV. They just released their ODK (Ouya Development Kit), and since it is Android powered, it is perfectly supported by Oxygene for Java right out of the box. Oxygene for Java is a completely native Android development tool – there are no forced abstraction layers or additional run-times to get in your way or require updating when new variations or versions of the platform come out.

Red Ant Games has just announced they are using Oxygene for Java to move their Subject 33 to Ouya and Android mobile devices. Subject 33 is currently an Alpha prototype on Windows. They also have plans to support iOS and Mac with “Nougat”.

Windows Store Development with Oxygene

November 1, 2012 in .NET, Elements, Metro, Oxygene, Windows

When Microsoft released the Visual Studio 2012 Shell, support for building Windows Store apps (formerly known as Metro apps) was missing. This certainly frustrates Windows Store Development with Oxygene which ships with the Shell.

Fortunately I’ve found a work-around to this annoying omission. Simply install Visual Studio 2012 Express for Windows 8 (free download) and then install (or re-install) Oxygene for .NET. This activates the support for WinRT templates and the Modern UI designers in the Shell. After that you can use the WinRT and Modern UI designers in the Shell with Oxygene for .NET.

The Visual Studio Shell and the Express Editions share many resources. As long as the Express Edition is installed, the Visual Studio Shell has WinRT and Modern UI support available for use in Oxygene for .NET development. The Express edition does not support Oxygene, so you will need to continue using the Shell.

Update: It was reported that it may be necessary to uninstall the Shell if you have trouble installing the Express Edition. So if you run into trouble you might try that.

Profile photo of marc

by marc

The new Oxygene website (Oh, and some exciting new Oxygene announcements, too)

September 6, 2012 in Elements, iOS, Mac, Metro, Nougat, Platforms, Visual Studio, Windows

Yesterday, we launched the major revamp of our “Oxygene” product homepage, available at, along with announcing the 5.2 release, a significant update to the product.

Let’s have a quick tour of the new content.

What’s New in 5.2

First, and most importantly, there’s the updated What’s New page, updated to list the new features in 5.2 and providing back access to previous release notes as well.

5.2 introduces some significant (and dare i say ground-breaking) improvements to error handling, with better fix-it support, auto-fix-its for select (safe to fix) issues and — my personal favorite – the new Treat Fixable Errors as Warnings, which can be an enormous timesaver if you just wanna code and test some quick changes. Of course there’s much more to 5.2 — such as our new IDE-integrated Gendarme Code Analysis, support for language-native tuples, Visual Studio 2012, Metro, and more.


Next to 5.2, the second biggest announcement has been the first peek at “Nougat“. Nougat is the codename for a new (third) platform for Oxygene, namely Cocoa and the Objective-C runtime for creating truly native Mac and iOS apps. Right now it is just a teaser — we’ll be releasing more details about “Nougat” here on the blogs over the next few weeks.

The good news is that “Nougat” is already part of our new Oxygene shop SKU — so anyone buying (or renewing) Oxygene now will be among the first people to see the Nougat beta (roughly within the next month) and get the final product when it ships in 2013.

We’re very excited.

The Language

The new website also contains a sizable new section focusing on the Oxygene Language and its Object Pascal heritage. We have five pages detailing the most exciting language features. We also have an overview of Oxygene evolved over the years (even i rediscovered cool features i had forgotten about, as i wrote this page ;), and Jim has written an excellent history of the Pascal Language since the 1960s, including a cool diagram that shows how it all fits together:

History of Pascal

The Platforms

Finally, there’s a new section that looks at Oxygene from the perspective of target platforms. With the introduction of Nougat, Oxygene now literally covers every single major target platform that matters today — from desktop and mobile to the server. The Platforms page serves as a central point to discover all the possibilities Oxygene opens up, and for most platforms, links to a dedicated “platform hub” page with details, links and videos about using Oxygene for the platform.

Jim has also created an excellent new WPF Development with Oxygene video to go along with the “Windows Desktop” platform, which, oddly, was underrepresented in the video department.

We expect this section to grow and expand over time, with more potential targets added, and the information for each target getting more comprehensive.

One More Thing: Sugar

Hidden away on the page about the three supported core Frameworks, you’ll find another sneak peek at something we are working on: an open source cross-platform base library for Oxygene, built on the awesome Mapped Types feature introduced in Oxygene 5.1.

Having a cross-platform language such as Oxygene is great, and one of Oxygene’s strong points is that it targets the platform-native APIs on each platform. The downside is that even the base types — simple stuff such as Strings or Dictionaries — can vary widely between platforms, making it tough to share code of any reasonable complexity.

The goal of “Sugar”, which is the codename of this project, is to create a toll-free mapping library that will allow Oxygene developers to write common code that will compile for all three platforms and work with the platform’s base types using a shared API.

This is even cooler than it sounds ;)

The Shop

Before we forget: of course the new Oxygene 5.2 is available now at $499 for new users — that includes all three platforms. Users coming from Prism XE2 (or our own Oxygene for Java) can renew for $349 — which also includes all three platforms.

We also have cross-grade pricing for users of Delphi. If you currently use Delphi, you can cross-grade to the full Oxygene package (again, you guessed it, all three platforms) for $399.

Let us know what you think!

Over the past month or so, we have put a lot of work into the new website. Let us know what you think, like, dislike, or are missing.

Of course even more work and sweat has gone into Oxygene 5.2 (in my humble opinion our most solid release yet, and i am very proud of what the team has delivered), and work already continues to go into the upcoming September and October interim releases, and towards “Nougat”

If you haven’t yet, try Oxygene — we have a free 30-day trial version for the .NET and Java editions. We hope you like what you see, and please do let us know what you think!


Profile photo of marc

by marc

Visual Studio 2012 is coming!

July 18, 2012 in Data Abstract, Elements, Metro, Visual Studio

As most of you are probably aware, Visual Studio 2012, the next version of our favorite IDE for the Windows platform and home to our Oxygene compiler, is coming soon, with the RTM date having been announced for August.

Of course we have been working tightly with our friends at Microsoft over the past half year or so to bring you support for the Beta and Release Candidate versions; the current shipping versions of both Oxygene and our .NET and Java products already work well with Visual Studio 2012 RC.

Today we are happy to announce that we will be among Microsofts list of “sim-ship” partners and will be shipping release products with official support for the final RTM release of Visual Studio 2012 within 30 days (probably a lot sooner) of Visual Studio 2012 RTM. (Our current goal is to ship full and final Visual Studio 2012 and Metro support in the “Fall 2012” releases at the end of August as part of Oxygene 5.2 and Embarcadero Prism XE3, and for Data Abstract, RemObjects SDK and Hydra in September.)

We’re very excited about Visual Studio 2012, as well as the new features we have coming from our side in the next round of releases — and so should you.

Stay tuned for more as we get closer to release.



Profile photo of marc

by marc

Announcing the “June 2012” releases for Oxygene and ROFX/Metro

July 5, 2012 in Data Abstract, Elements, Metro, Visual Studio

Dear Readers,

i’m happy to inform you of the immediate availability of our new June 2012 update for Oxygene, and a small June interim release for our ROFX products.

The June 2012 release of Oxygene is our second update to Oxygene 5.1 (or Embarcadero Prism XE2.5) as released in April, and brings with it the usual amount of fixes and improvements, as well as two major new features.

The most prominent addition, and the biggest focus for June is updated support for the new Visual Studio 2012 Release Candidate and Windows 8 Release Preview that Microsoft made available just shortly after our last update. Both VS2012 and Windows 8 have matured a lot and changed a lot between beta and RC, so that quite a few changes were necessary.

Metro is an exciting new development platform within the Windows eco-system, especially with the newly announced Surface tablets coming from Microsoft, and we are pleased to be on the forefront, once again, in supporting this cutting-edge set of technologies with Oxygene early-on, and enabling you to create great Metro applications from day one.

The second feature, and the one i am most excited about myself this month, is an enhancement to the editor window that we call the “Project Indicator/Switcher”. I’ve talked about the Project Switcher before in my teaser blog post here, but in a quick summary, the new UI makes it really easy to work with source files shared between different projects in the same solution (for example when working between different platforms), or to simply keep track of what project (or what platform) the current source file belongs to.

You can configure the Project Switcher under Tools|Options|Text Editor|Oxygene, and decide whether you want to see it always (my favorite), never, or just for shared files (the default). Let us know how you like it!

In addition to Oxygene, we also released a June 2012 interim release for some editions of RemObjects SDK and Data Abstract. This interim release is solely focused on bringing the Metro support in the products up to speed with the above-mentioned Release Candidates of Visual Studio 2012 and Windows 8, and contains no other changes. As such, it is extremely safe to update to, but it is also safe to skip, if you aren’t doing any Metro work yet.

The Metro-specific changes apply to RemObjects SDK and Data Abstract for both .NET and JavaScript.

As always, you can find the complete lists of changes at, and the new product versions are available both in the licensed downloads section of our customer portal, and as trials


marc hoffman

Chief Architect

Migrating a Metro app from Beta to Release Preview

July 5, 2012 in .NET, Elements, Metro, Oxygene, Uncategorized, Visual Studio, Windows

There were a few breaking changes to Metro apps when the Visual Studio 2012 Release Candidate came out. To develop for the latest version of Metro sing our tools, you will need the June 2012 Release or newer, which you can get from the usual places, including our [licensed downloads page]( and [as trial version](

Once you have the June Release or a newer beta installed, you are ready to build Metro apps for the Visual Studio 2012 Release Candidate and Windows 8 Preview, but if you started working with the Consumer Preview of VS11, you’ll need to make the following changes:

  • Remove public from your XAML Pages and App partial classes – You will get an error like ‘(E57) The type visibility for “app” does not match other class parts.’ Simply remove the public visibility modifier from the declaration in the interface section of your pas files. So instead of “type app = public partial class” it should say “type app = partial class”.
  • Add a default language – You may get a warning like “(APPX1901) The DefaultLanguage property is either missing from the project file or does not have a value. The fallback language is set to the Visual Studio language: en-US.” You will need to open the .oxygene project file in your favorite text editor and add the line <DefaultLanguage>en-US</DefaultLanguage> in the first <PropertyGroup>. The warning will then be removed.
  • Recreate your certificate – Anytime you move a project from one machine to another you may find you need to recreate your certificate. You will know because you get a warning like “(APPX0107) The certificate specified is not valid for signing.” The fix is simple:
    1. Just find the XXX_TemporaryKey.pfx file in your solution (where XXX is the name of your project) and remove it.
      TemporaryKey in Solution Explorer
    2. If you try to build now, you will get the warning “(APPX0104) Certificate file ‘XXX_TemporaryKey.pfx’ not found.” You need to create a new certificate: Double-click your Package.appxmanifest file in the solution explorer. From there, go to the Packaging tab.
      Package.appxmanifest Packaging tab
    3. Click the Choose Certificate… button. From the Choose Certificate dialog, click the Configure Certificate drop down, and select Create test certificate…
      Choose Certificate
    4. Then, on the Create Test Certificate dialog, you can provide a Publisher ID or just click OK. Now you will have a new “XXX_TemporaryKey.pfx” file and the warning will go away.
    5. The Metro Style Apps Dev Center has more information about valid certificates.

There were a few other changes, but those will vary from app to app, depending on what you’ve done in the app. I’ve updated my MetroExamples to work with the latest Release Preview and the June Release.

Profile photo of Anton

by Anton

The Dark Side of the Release Preview Update

June 19, 2012 in Data Abstract, Metro

This summer brought us the Windows 8 Release Preview and the Visual Studio 2012 Release Candidate – a great step towards the much anticipated final releases. Unfortunately, these major updates also had a dark side: breaking changes.

Even if expected at this stage of product development, breaking changes and the resluting compatibility problems are still annoying — especially when such a big update literally occurs the day after our Summer 2012 release and breaks functionality (even if that functionality was declared as preliminary). :(

Among the changes that affected us, the most noticeable ones were:

  1. Several types were moved from assembly to assembly deep inside the WinRT. Despite Visual Studio now hiding stuff such as separate .NET Core (aka WinRT/Metro) assemblies from the developer behind a single ‘.NET for Metro style apps’ reference, compiled Metro assemblies still contain references not only to the System.Runtime assembly, but also to System.Collections, System.Text.Encoding etc. So when several types were moved, this effectively broke assemblies that used these types and were compiled using the old VS 11 beta build.

  2. The type ApplicationViewStateChangedEventArgs is no longer available, and the Windows.UI.ViewManagement.ApplicationView.GetForCurrentView method was removed. These changes broke all Metro applications created in the VS 11 Beta using standard Metro app templates and unfortunately, DA/Metro apps were broken as well.

  3. And last but not the least, the internal name of the WinJS library was changed from “Microsoft.WinJS, Version=0.6” to “Microsoft.WinJS.1.0.RC, Version=1.0”, breaking the Data Abstract for JavaScript Metro app template.

The changes listed above and the issues caused by them are annoying but not hard to work around. We are preparing an interim release that will provide fixes for all these issues. Licensed users can grab a gamma build at now, and we are planning to have an updated release version, including an updated free trial, within the next week.

Wishing you successful Metro projects!

Summer’s Here!

June 12, 2012 in .NET, Cooper, Data Abstract, Delphi, Hydra, JavaScript, Metro, Relativity, Visual Studio

Change LogsJust in time for the start of summer, our “Summer 2012” releases are here! There are significant updates in every single one of our products — three editions of Data Abstract, four editions of RemObjects SDK (the new one being RemObjects SDK for Java), both editions of Oxygene, and Hydra.


The big theme this time around is our preliminary support for Metro and Windows 8. Since Windows 8 and Visual Studio 11 are in Release Preview right now, our support is preliminary, but rest assured that when they get released we will have finalized support right away. This means you can start developing native Windows 8 Metro apps today, so you are ready! You will find preliminary Metro support in Oxygene for .NET as well as Data Abstract and RemObjects SDK for both .NET and JavaScript.

Free JavaScript Client Libraries

Another big annoucement is that our JavaScript client libraries are now abailable as seperate, free downloads. You can use these to freely add Metro clients to your existing Delphi, .NET or Relativity servers. Check out the video on developing Metro apps with Data Abstract for JavaScript. If Windows 8 Metro isn’t on your radar yet, you can also use the JavaScript client libraries to build browser based client applications, as well as mobile applications with tools like Titanium or PhoneGap.

Schema Modeler 7 Tech Preview

Beyond Metro and JavaScript, you will also find a Tech Preview of our Schema Modeler 7 for Windows. This new Schema Modeler has been designed from the ground up to provide a better and more streamlined schema editing experience. If you are familiar with the reinvented Schema Modeler from the Xcode edition, you will see they have a lot in common.

We’re still putting some finishing touches on DASM7 (as we call it internally), before we consider it “done”. This means DASM7 does not replace the old Schema Modeler yet. You can find it in the \Bin folder of your Data Abstract installation and give it a try — or run it with /register once to make it the default.

But Wait, There’s More!

This is just the tip of the iceberg. As always, check the change logs to see what else is new in the “Summer 2012” release.

So renew your subscriptions with our recently reduced renewal pricing, upgrade to a new platform, or download a 30-day free trial today, and get a jump on summer!

Profile photo of Anton

by Anton

Summer 2012 Interim release

June 2, 2012 in Data Abstract, Metro

As I talked about in my blogpost a couple of weeks ago, there have been some breaking changes in the Windows 8 Consumer Preview and Visual Studio 2012 RC that caused it to not work well against our “Summer 2012” release.

Last week we have published an interim “June 2012” release for RemObjects SDK and Data Abstract for .NET and JavaScript. This is just a hotfix release and only affects the WinRT/Metro support, but it should bring things up to speed to the latest bits from Microsoft (if you don’t use the Visual Studio 2012 RC or don’t create Metro applications yet, there is no need to update).

However, there is still one caveat with the Visual Studio 2012 RC and DA/Metro projects (and only with them): C# Data Abstract + Metro projects created using the New Project Wizard won’t compile out of the box, but complain that the application entry point is not found. Don’t panic! All you need to do is make any change (literally any – to add a space symbol is enough) to the App.xaml file. This will trigger an internal Visual Studio process that will recreate an auto-generated code-behind file that contains the application entry point and everything will work fine.

This issue is already fixed for the next beta, and will of course ship in the next release, but promoting this fix to the interim release was not easy/safe enough from the QA side of things.

Happy software developing on all platforms supported by Data Abstract (you will be surprised how wide the support is).

Metro Development with Oxygene for .NET

May 28, 2012 in .NET, Elements, Metro, Visual Studio, Windows

Windows 8 introduces the new Metro style for app development. These Metro apps take advantage of the new Windows Runtime (WinRT) and are available on both Windows 8 desktop and Windows 8 Tablets. Of course Windows 8 has preliminary support in Prism XE2.5 and Oxygene for .NET 5.1. To get started you need the May update to Prism XE2.5, which is available this week. If you want to consistently have access to the latest version of Oxygene for .NET, register your Prism XE2+ serial number. The May update (releases this week) is the minimum version you need to get started. Once you registered, you can download the latest version.

To do any Metro development you need to be running Windows 8 since that is the only place WinRT is available. You can download the Windows 8 Consumer Preview ISO and install it in a Virtual Machine (you might need to update your VM software), Boot Camp or as your main operating system. You also need the Visual Studio 11 (VS11) Beta. When VS11 ships, the shell edition will be available with the Oxygene for .NET installation, but for now you need to download the beta from Microsoft. Since you cannot install add-ins to the express edition of VS11, you will need to download the professional version or higher.

The steps for installation are:

  1. Windows 8 Consumer Preview
  2. VS11 (Pro or higher)
  3. Prism XE2.5 – May update or newer

If you want to get a quick start you can download the Oxygene Metro Examples (Updated for the July Oxygene for .NET Beta and the Visual Studio 2012 Release Preview) I’ve put together. The examples cover interacting with the Search Charm, adding an App Bar, changing the app layout when the view state changes, customizing your tile and dealing with notifications. I included both the source and the binaries in the download.