Archive for the ‘ednfront’ Category

Come see us in person! Denver, Seattle, Salt Lake City, Washington DC and Boston!

Friday, June 7th, 2013

Upcoming cities:

David I will be in Denver and Seattle. I will be in Salt Lake City and Boston. Al Mannarino will be in Washington, DC.

See ya!

CodeRage Mobile June 18-19, 2013

Thursday, June 6th, 2013

Yes, you read that right! In 12 days! It’s gonna ROCK! :)

CodeRage Mobile June 18-19

Press Release

Schedule

REGISTER NOW!

Enjoy!

In-App Purchasing update of Analog Clock just submitted!

Monday, June 3rd, 2013

As soon as the newest update gets approved, you can get rid of the ads… ;)

Stay tuned to hear more about this topic… ;)

Enjoy!

Delphi XE4 FireMonkey app using iAd already approved!

Friday, May 31st, 2013

Less than 48 hours from submission to approval is spectacular!

I’m feeling like a kid in a candy story when I get new stuff into the AppStore! :)

Nothing like a little Candy Crush Saga while watching the time fly away as you develope super cool FireMonkey apps for iOS using Delphi XE4!

Anders’ Analog Clock with iAds

/Enjoy!

Want to try RAD Studio XE4, Delphi XE4, or C++Builder XE4, but have no Mac! No problem! Check this free offer!

Friday, May 24th, 2013

JT just blogged that we have partnered with MacInCloud. This is fantastic news for anyone that wants to play with the trial, but don’t have a Mac to deploy to.

JT’s post - read for details.

Enjoy!

Ven a verme en Ciudad de México y Guadalajara

Wednesday, May 15th, 2013

¡Hola!

Regístrate ya para RAD Studio XE4 en Ciudad de México (21 de Mayo) y/o
RAD Studio XE4 en Guadalajara (22 de Mayo) y ven a verme en persona.

¡Estoy impaciente por verlos!

:)

Handling iOS application events

Wednesday, May 1st, 2013

One thing that I’ve wanted to try for quite a while is doing something when an app gets put in the background (user hits the home button for example). An example of this is a game that my kids play - when they leave the game, the character yells out something like "Don’t leave!", "Come back!", "Hope you enjoy your day without me!" and other random fun stuff.

Sometimes it also schedules a notification to fire at a later date. Let’s say the kids forget to play the game for a few days… All of a sudden out of nowhere the iPad will scream at you "Come back and play NOW! I’m bored!"

How is this done? Let’s not waste anymore time… Here is the complete form source code for the simplest case - scheduling a notification upon entering the background.

unit Unit1;

interface

uses
  System.SysUtils, System.Classes, FMX.Forms, FMX.Platform;

type

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function AppEvent(AAppEvent: TApplicationEvent; AContext: TObject) : Boolean;
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

uses
  FMX.Notification;

procedure SendNotification;
var
  NotificationService: IFMXNotificationCenter;
  Notification: TNotification;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXNotificationCenter) then
    NotificationService := TPlatformServices.Current.GetPlatformService(IFMXNotificationCenter) as IFMXNotificationCenter;

  if Assigned(NotificationService) then begin
    Notification := TNotification.Create;
    try
      Notification.Name := 'MyLocalNotification';
      Notification.AlertBody := 'Hello from the Delphi XE4 iOS app that you used 5 seconds ago!';
      Notification.FireDate := Now + EncodeTime(0,0,5,0);
      NotificationService.ScheduleNotification(Notification);
    finally
      Notification.Free;
    end;
  end
end;

function TForm1.AppEvent(AAppEvent: TApplicationEvent; AContext: TObject) : Boolean;
begin
  if AAppEvent = TApplicationEvent.aeEnteredBackground then
    SendNotification;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  AppEventSvc: IFMXApplicationEventService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, IInterface(AppEventSvc)) then
    AppEventSvc.SetApplicationEventHandler(AppEvent);
end;

end.

The main things that we do in this code are:

1. Hook up the Application Event Handler on OnCreate of our form
2. Schedule a notication if the event received is aeEnteredBackground

The rest is handled by iOS for us.

Special thanks to Darren Kosinski who shared one of his test examples on how to handle iOS application events!

iOS Preview "Early Bird" Special – Save 20% on Delphi Enterprise, RAD Studio Professional/Enterprise with Maintenance

Wednesday, March 27th, 2013

Get Delphi XE3 or RAD Studio XE3 today with the iOS Pre-Release Beta, and save 20% when purchased with 1-year Maintenance. Click here to buy from the Embarcadero store with the 20% discount or click below for other options. Offer available for ESD individual user licenses for Delphi XE3 Enterprise, RAD Studio XE3 Professional and RAD Studio XE3 Enterprise only.

What you get:

  • XE3 Multi-Device development with Windows/Mac and 64-bit
  • iOS Pre-release Beta to start learning mobile development today with Delphi (no AppStore deployment during beta)
  • All updates and major releases over the next 12 months. See the 2013 Roadmap for what we have planned.

Buy Online Buy from a Partner Contact Sales

Anders’ Analog Clock app ported to Delphi for iOS

Friday, March 22nd, 2013

My FireMonkey Clock app has been ported using a beta version of Delphi for iOS.

Main tab

Above you can see a screen shot of the app as it starts up. By default it uses "normal drive" - the second hand moves once per second and the minute hand moves once per minute.

The app is a Universal app (supports iPhone and iPad). The main clock screen uses a TScaledLayout to ensure proper scaling down to the iPhone (the app was designed for the iPad).

If you hit the Info button it will take you to the setup tab, where you can select "Flame" (or FireMonkey second hand) as well as "Smooth drive" - the second and minute hands move smoothly.

Setup tab

The setup screen uses a combination of items that scale and items that don’t scale. For instance, the toolbar, the back button, and the listbox with its items are not supposed to scale, but still be aligned properly. The clock faces, however, do scale inside of a TScaledLayout.

FireMonkey second hand

Above you can see what the FireMonkey second hand looks like.

Below is a screen shot of my Structure Pane where you can see how I designed the app:

Structure View

I also wanted to mention performance. The previous version of the app was created in XE2 where I got about 2-3 frames per second in smooth mode - not very smooth. However, this version created with our upcoming product gets a blazing 60 frames per second on the iPad 3 using iOS 6.1.3 and almost the same fps rate on iPhone 4 (iOS 5.1) and iPad 2 (iOS 6.1) at about 55+ frames per second.

Enjoy!

PS: The screen shots above are actually from the *next* update I will be pushing soon… The current one looks almost the same, except for a few changes in layout.

Save the Date: Mobile Preview Webinar on February 21!

Wednesday, February 13th, 2013

Don’t miss our Mobile Preview Webinar on February 21! Register now. Space is limited and this webinar is filling up FAST!

Thursday, February 21, 2013
6:00AM PST / 9:00AM EST / 14:00 UTC
11:00AM PST / 2:00PM EST / 19:00 UTC
5:00PM PST / 8:00PM EST /
12:00PM 22-Feb Australia EDT

The new Delphi and RAD Studio development solution for iOS is coming soon. Now is a great time to get started on the path toward multi-device application development across Windows, Mac, iOS and then Android. Join us for this informative webinar to learn why mobile development is becoming increasingly important and the Delphi solution for mobile development.

  • Mobile opportunities for Delphi and RAD Studio developers
  • Developing iOS apps with Delphi from IDE to simulator to device
  • Delphi mobile UI and style tips
  • Data connectivity options with InterBase and SQLite for your mobile apps

Bad Behavior has blocked 512 access attempts in the last 7 days.

Close