Quantcast
Channel: Planet Object Pascal
Viewing all 1725 articles
Browse latest View live

The Wiert Corner - irregular stream of stuff: jpluimers

$
0
0

The NEXTGEN family of Delphi compilers for the Mobile platforms changed quite a bit of things.

Most of it has been covered by various blogs posts. A non exhaustive list of ones I liked:

Those articles do not contain two things I had’t found about yet though that are important when you do RTTI using NEXTGEN in Delphi XE4:

1. The TSymbolName changed from a types string[255] to Byte

Though TSymbolName is still documented as being a ShortString (classic Turto Pascal style non reference counted single byte string of maximum 255 characters with a length byte as very first (zeroth?) byte), it is not:

This creates all kinds of havoc, especially when you use System.SysUtils.Format or Exceptions to format readable RTTI output like this: as the %s will break when a Byte is passed.

So I worked around it using the SetString and Utf8ToUnicode methods: a NEXTGEN compatible GetShortStringString method.

Now the exception is raised like this:

2. Despite the absence of some types in the NEXTGEN compiler, the TTypeKind declaration in the TypInfo unit has not changed:

The TTypeKind is still declared to be this:

But in fact these TTypeKind values are not supported in NEXTGEN:

  • tkWString: Identifies a WideString (wide string without reference counting) type.
  • tkLString: Identifies an AnsiString (single byte string with reference counting) type.
  • tkChar: Identifies a AnsiChar single-byte character type.
  • tkString: Identifies a ShortString short string type or subtype.

That lead me to this code snippet:

–jeroen


Filed under: Delphi, Delphi XE3, Delphi XE4, Development, Software Development

Firebird News: The Lazarus team is glad to announce the release of Lazarus 1.0.12

$
0
0
The Lazarus team is glad to announce the release of Lazarus 1.0.12. This is a bug fix release, built with the current Free Pasca Compiler 2.6.2. Here is the list of changes for Lazarus and Free Pascal: http://wiki.lazarus.freepascal.org/Lazarus_1.0_fixes_branch#Fixes_for_1.0.12_.28Merged.29 http://wiki.lazarus.freepascal.org/User_Changes_2.6.2 The release is available for download at SourceForge: http://sourceforge.net/projects/lazarus/files/ Choose your CPU, OS, distro and then the “Lazarus […]

Firebird News: NBackup support in DotNet FirebirdClient

$
0
0
NBackup via Services API is landed in DotNet FirebirdClient

The road to Delphi: Delphi Dev. Shell Tools – New features 2

$
0
0

I just added a set of new features to the Delphi Dev. Shell Tools

Settings options, Checksum calculation (CRC32, MD4, MD5, SHA1, SHA256, SHA384, SHA512), ,menu customization, copy the content of the selected file to the clipboard, enable/disable check for updates, support for more file extensions (.lpr, .lfm, .proj).

Check the next images.

Support for add custom extensions in some tasks

New option to show in the main menu or a sub menu the available tasks

Checksum calculation CRC32, MD4, MD5, SHA1, SHA256, SHA384, SHA512



TPersistent: EMBT Looking for Staff

$
0
0

EMBT has numerous postings for positions if you are interested in applying.  There are jobs in the US, Romainia and Spain.  They are even looking for a Senior VP of Marketing, a position which I believe is currently held by Michael Swindell (an unfortunate last name for a marketing guy ;-) unless I am pronouncing it wrong).  If you’re going to apply make sure to read this first.

Firebird News: GSOC LibreOffice Firebird Integration Weekly Update 13

$
0
0
New GSOC update for the previous week with current status of the firebird-sdbc driver : Progress this week: - Made libatomic-ops buildable meaning that we should now be able to build embedded firebird on non-X86 systems too - Added rebuilding of indices to deal with the icu collation issues. - Implemented a simple .odb loading test (in […]

Leonardo's blog: Lazarus + PostgreSql's JSON (your secret weapon)

$
0
0
Hi, today I've read the news about the new PostgreSql 9.3 and, as usual, I went directly to the Release Anouncement, pretty impressive stuff. The part that caught my attention was the JSON related part, so I've read a little more here and couldn't stop the desire to do some tests.

So, the first thing was installing the brand new version on my Ubuntu 12.04:


1) Add this line to /etc/apt/sources.list

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main

2) Execute this command:

sudo wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -

3) sudo apt-get update
4) sudo apt-get install postgresql-9.3



Now, let's create a sample database, in this case please download the SQL metadata from: Here

Scriptable version:

wget http://www.commandprompt.com/ppbook/booktown.sql
psql -h 127.0.0.1 -U postgres < booktown.sql

Now, please take a look at the database using PgAdmin III or directly with the command line tool psql.

The database has many tables related to books. I'll create a very simple query to get all the books and its author:

select *
from books b
join authors a on b.author_id=a.id


Now the fun part beggins. To get the results as JSON, replace the former query by this:

The first step is to replace the "select *" with fields:

select
  b.id as book_id,
  title,
  last_name,
  first_name
from books b
join authors a on b.author_id=a.id


The second step is to use slightly modify the original query, to let use the "json_agg" function:

select json_agg(resultset) as json from (
select
  b.id as book_id,
  title,
  last_name,
  first_name
from books b
join authors a on b.author_id=a.id) as resultset


This returns just one string containing our json:

"[{"book_id":41472,"title":"Practical PostgreSQL","last_name":"Worsley","first_name":"John"},
 {"book_id":25908,"title":"Franklin in the Dark","last_name":"Bourgeois","first_name":"Paulette"},
 {"book_id":1234,"title":"The Velveteen Rabbit","last_name":"Bianco","first_name":"Margery Williams"},
 {"book_id":190,"title":"Little Women","last_name":"Alcott","first_name":"Louisa May"},
 {"book_id":7808,"title":"The Shining","last_name":"King","first_name":"Stephen"},
 {"book_id":4513,"title":"Dune","last_name":"Herbert","first_name":"Frank"},
 {"book_id":2038,"title":"Dynamic Anatomy","last_name":"Hogarth","first_name":"Burne"},
 {"book_id":1501,"title":"Goodnight Moon","last_name":"Brown","first_name":"Margaret Wise"},
 {"book_id":156,"title":"The Tell-Tale Heart","last_name":"Poe","first_name":"Edgar Allen"},
 {"book_id":41477,"title":"Learning Python","last_name":"Lutz","first_name":"Mark"},
 {"book_id":41473,"title":"Programming Python","last_name":"Lutz","first_name":"Mark"},
 {"book_id":41478,"title":"Perl Cookbook","last_name":"Christiansen","first_name":"Tom"},
 {"book_id":4267,"title":"2001: A Space Odyssey","last_name":"Clarke","first_name":"Arthur C."},
 {"book_id":1590,"title":"Bartholomew and the Oobleck","last_name":"Geisel","first_name":"Theodor Seuss"},
 {"book_id":1608,"title":"The Cat in the Hat","last_name":"Geisel","first_name":"Theodor Seuss"}]"


Now, from your Lazarus/fpc program you can easily get the JSON string.

One possible usage for this that comes to my mind, is a CGI app that returns a resultset to an EXTjs grid.  The CGI just executes the query and return the string in the TResponse handler as ContentType "application/json".

PARMAJA: Metallic: New theme for WordPress was born

$
0
0

wp-mettalicI made new theme for WordPress, I call it Metalic, used for my site.

Advantages

  • CSS3, Modern styling
  • No images at all, only your logo at the corner
  • Mobile style, if you open your site/blog in a mobile, it will show for small screens
  • Right To Left support
  • Multi colors, try it, it is fun.
  • Custom Logo
  • Cool printing
  • Wide Header option
  • One column option

Disadvantages

  • CSS3, not all browsers can show it, but it still works.

DelphiTools.info: Setting up a Windows 2008 for the metered cloud – part 1

$
0
0
In DWScript WebServer in the metered cloud, I mentioned setting up a light weight Windows 2008 r2 Virtual Private Server to serve as web server host. A parallel series of articles deals with the DWScript Web Server itself, and this is a mini-series about setting up Windows 2008 with minimal memory, CPU, storage and vulnerability surface.…

Firebird News: SOCI -The C++ Database Access Library 3.2.2 released with Firebird fixes

$
0
0
From: Mateusz Loskot  I'm very pleased to announce release of SOCI 3.2.2 which is mainly a bugfix release with some improvements and features too. The source packages are available for download from SF.net: https://sourceforge.net/projects/soci/files/soci/soci-3.2.2/ or directly from the Git repository in 3.2.2 tag: https://github.com/SOCI/soci/tree/3.2.2 By the way, all packages and tags are also available from […]

It's a blong, blong, blong road...: ‘Dynamic’ Delphi/C++ samples on SourceForge via Subversion

$
0
0

Many of you will have already bumped into this information, but I’m posting it for the benefit of those who haven’t come across it.

In much the same way as how the static RAD Studio online documentation is complemented by updatable and updated web-based documentation at http://docwiki.embarcadero.com, the sample applications supplied with RAD Studio are also updated over time and available via an online Subversion repository hosted at SourceForge.

The RAD Studio Demo Code Web Site is at http://radstudiodemos.sourceforge.net and the SourceForge project page is http://sourceforge.net/projects/radstudiodemos. To pull down the demos you can use your favourite Subversion client and use the checkout functionality.

With regard to Subversion clients I like using TortoiseSVN from within Windows Explorer, although there is also a TortoiseSVN plug-in for the RAD Studio IDE. Of course if you use Delphi XE or later you can perhaps more sensibly just use the built-in RAD Studio IDE Subversion support.

Suitable Subversion repository URLs for the RAD Studio demo projects include:

From time to time you can again use your Subversion client to update the demos to take advantage of any changes made in the online repository. It’s good to be kept up to date!

Above I touched on the online up-to-date documentation. For completeness I should mention that the docwiki is available from Delphi’s Help menu (RAD Studio Docwiki) and I should also offer up this list of entry pages to the online help systems:

Finally, it’s always nice to get a refresher on what’s been added in recent product releases, so do stop by the What Was New In Past Releases page on the docwiki.

It's a blong, blong, blong road...: Delphi for Android (aka Delphi XE5 aka RAD Studio XE5) has appeared

$
0
0

Delphi Android dude

Blimey, that took me by surprise (again)! I figured it was coming fairly soon, but I didn’t realise quite that soon.

Anyway, Delphi XE5 is here (as is RAD Studio XE5 and siblings), as Tim Del Chiaro on his Delphi Insider blog.

The Trial Edition is up and available for download and those with Software Assurance should have access to the full version.

You can get a run down of what’s new in the XE5 doc wiki– specifically the What’s New page, but there’s also a general What’s New page. However the thrust of this release is all about adding Android to the portfolio of supported target platforms, with the suggestion that you can get applications compiling for both iOS and Android from a single source base.

But before getting bogged down in Android it’s worth mentioning these new features:

  • the REST client library, a new cross-platform framework for easy access of REST-based web services
  • REST debugger
  • the full integration of FireDAC
  • IDE support for MacinCloud
  • Extendible IDE mobile design devices
  • the awesome IDE Insight functionality (Ctrl+. or F6) is no longer a modal dialog but is now a search box
  • style support for the freshly released iOS 7
  • swipe to delete feature on mobile platforms
  • TListView search filtering support
  • the removal of the long defunct WebSnap and InternetExpress (with the suggestion to use IntraWeb and WebBroker instead for similar functionality)

Also there have been a bunch of iOS fixes along the way, as you’d expect.

The full Delphi range of platform targets now covers:

  • 32-bit Windows
  • 64-bit Windows
  • 32-bit OS X
  • iOS Simulator (Intel)
  • iOS (ARM)
  • Android (ARM)

This is achieved with this half dozen compilers:

  • dcc32 – Embarcadero Delphi for Win32 compiler version 26.0 – your regular Win32 Delphi, the latest version updated over many versions since Delphi 2
  • dcc64 – Embarcadero Delphi for Win64 compiler version 26.0 – the 64-bit Windows targeting compiler
  • dccosx – Embarcadero Delphi for Mac OS X compiler version 26.0 – the Delphi compiler that generates 32-bit OS X apps
  • dccios32 – Embarcadero Delphi Next Generation for iPhone Simulator compiler version 26.0 – the NextGen Delphi compiler that builds Intel executables that run in the iOS simulator
  • dcciosarm - Embarcadero Delphi Next Generation for iPhone compiler version 26.0 – the NextGen Delphi compiler that builds ARM executables that run on iOS devices
  • dccaarm – Embarcadero Delphi for Android compiler version 26.0 – the NextGen Delphi compiler that builds ARM executables that run on Android emulators and devices

Android requirements

Because the Delphi compiler generates native machine instructions, its output is processor-specific. In other words it doesn’t target the Dalvik Virtual Machine, where regular Android applications reside, which are basically Java p-code applications that are executed by a variant of the Java VM. Instead it generates raw machine code, as all the current wave of Delphi compilers do (the long gone Delphi for .NET was the exception to this general rule). So because it’ a compiler compiling native machine instructions Delphi’s Android support has the following requirements:

  • there must be a GPU
  • the CPU must be ARMv7 with NEON instruction support
  • the OS on the target device must be one of:
    • GingerBread: Android 2.3.3+ (MR1 or later), which is API level 10
    • Ice Cream Sandwich: Android 4.0.3+ (MR1 or later), which is API level 15
    • Jelly Bean: Android 4.1+ (release, MR1, MR2 or later), which are API levels 16, 17 and 18
  • you can run the app on an Android emulator if:
    • the emulator is set to use the host GPU
    • the emulator is running Ice Cream Sandwich (MR1 or later) or Jelly Bean (release or later)
    • the emulator is not running in a Virtual Machine
  • These requirements appear here and there in the documentation, mostly concurring with itself: 1, 2.

    How do you find out if your device is supported? Well, the OS version you can find out in the Settings. The path and menu items may vary but goes roughly like this: Settings, About phone (or tablet), Software information, Android version.

    To check the CPU details you’ll need to run one of the tools from the Android SDK against your connected device. Delphi installs the Android SDK and NDK if you don’t tell it you have it pre-installed. The Android SDK gets installed into a directory something like: C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk. In the platform-tools subdirectory from there is the Android Debug Bridge, adb.exe.

    To run a command against your device it needs to be connected, typically by USB. This requires you to install an appropriate USB driver for your device as the ones located by Windows typically don’t do the job. Refer to the helpful The Delphi Geek blog post on the matter, XE5 and USB Drivers, for more information and links to drivers for the more common Android phone manufacturers.

    When your phone is connected you’ll need to launch a command prompt and run an adb command. This may be easiest if you change directory to the platform-tools subdirectory (or Shift+right-click on the platform-tools folder in Windows Explorer and choose Open command window here). Firstly run the command:

    adb devices

    just to prove that your device can be seen by the Android tool chain. Assuming it can, run:

    adb -d shell cat /proc/cpuinfo

    This will show you CPU information something like this:

    Processor       : ARMv7 Processor rev 0 (v7l)
    processor       : 0
    BogoMIPS        : 13.52

    processor       : 1
    BogoMIPS        : 13.52

    processor       : 2
    BogoMIPS        : 13.52

    processor       : 3
    BogoMIPS        : 13.52

    Features        : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4

    CPU implementer : 0x51
    CPU architecture: 7
    CPU variant     : 0x1
    CPU part        : 0x06f
    CPU revision    : 0

    Hardware        : UNKNOWN
    Revision        : 0003
    Serial          : 0000000000000000

    Check the Processor line to ensure you are running ARMv7. In the Features line check that neon is included in the CPU feature list

    Product Launch

    There have been various events worldwide over recent fays and more coming in the days ahead, spreading the word about the new Android support in Delphi XE5. Today I attended the London event, which was held in a theatre in the Natural History Museum.

    NHM

    Embarcadero’s JT was over to help with the launch, and also on stage were Jason Vokes and Steve Ball.

    I was a long way back in the audience with the zoom on my telephone’s camera on maximum. But this was the theme for the day.

    Delphi.Android

    Addenda

    If you are keen to try out Delphi’s Android support, go right ahead and start downloading and installing. However I would urge you to read up on how Android development works whilst the download/install process takes place. There are many docwiki pages that help you get a handle on how it all fits together with the main entry point here: Android Mobile Application Development. A whole bunch of subtopics are listed here.

    Recent posts about Delphi’s Android support, which pre-dated today’s launch, include the following:

    In a previous blog post I discussed the Objective-C Bridge, available when building iOS apps. This is part of the RTL that allows Delphi code to interact with Objective-C API code. Objective-C code is compiled native code and Delphi code is compiled native code, so the bridge allows the two sets of code to get along. You can define Delphi versions of iOS classes (rather akin to how you can declare Delphi versions of Win32 API functions in classic Delphi), create instances of Objective-C classes, inherit from Objective-C classes and generally do what is necessary to access parts of the CocoaTouch API that are not consumed and surfaced by FireMonkey or parts of the API that do not have similar behaviour exposed by FireMonkey.

    Oh, I should mention it’s not so much called FireMonkey now. It seems to be getting referred to more and more as the FM Application Platform. I suspect the latter sounds a little more “business”-y.

    Anyway, the Android support offers a similar API bridge called the Java Bridge. Now the Android SDK classes are Java classes living in the world of the Dalvik VM. Delphi code is machine code running on the CPU. This is different to the iOS case. So the Java Bridge uses JNI to communicate across the native/managed boundary but basically offers broadly similar behaviour. You can declare Delphi versions of Android classes, create instances of them and communicate with them. So aspects of the Android API that do not get employed by regular Delphi apps can be accessed for the most part.

    One shortcoming of the Java Bridge is that you cannot inherit from a Java class, which makes certain things rather tricky. However I’m going to write up my understanding of the Java Bridge and Objective-C Bridge in additional fuller articles with various examples over coming months, and try and offer ways around the Java Bridge shortcomings. Watch this space. Well, ok, you’d do better to read up on all the Android backgrounders in docwiki while downloading and installing XE5 :o)

    Here are some more Embo pages for you to chew over and apply due consideration to:

    Delphi Android dude

    Delphi Code Monkey: XE5 Trial Download and Install Experience

    $
    0
    0
    I haven't received any SA emails, but XE5 is up and the trial is downloadable now, so go try it out folks.

    I downloaded the trial and it installed and activated the trial flawlessly. The android stuff you need is all automatically installed, and even somewhat configured. (An emulator profile for XE5 is created, for example. Nice!)

    A launch webinar is planned for Thursday September 12, go sign up now.


    I haven't been able to test XE5 with my real Google Nexus 7 yet, because my wife is addicted to Scrabble, and I haven't got the heart to steal it from her. Tomorrow evening I will, however.

    Tonight I just used the emulator, and I have to say, that the Android EMULATOR is a piece of crap, and that this is not Embarcadero's fault.  I have already long lamented the crappiness of the Android EMULATOR technology that comes in the Android SDK/NDK.   If you want to try this out, please please please save yourself some grief and just skip the damn emulator completely.



    Also, the emulator appears not to properly implement OpenGL/ES, at least not on everybody's computers. It doesn't work at all on my windows 8 computer, which has a high end workstation graphics card.  That means I can't even launch a hello-world firemonkey-android app on my emulator.

    I have the Android Studio (new Java toolset from google, based on IntelliJ IDEA), I have the classic Eclipse based Android stuff, and I have Delphi XE5 trial.  I have used the Android emulator with these two IDEs for a while now, and I find the speed absolutely atrocious, and I'm running on a quad-core Xeon box with a lot of RAM, and a very fast hard disk.    So, go get a real Android phone or tablet, before you even start playing with Android.  I recommend the Google Nexus 7.

    Anyways, can I just say that I hate Java, and I hate the Android SDK and its intents and its intent filters, and its XML UI building system.

    Am I ever excited that, without learning how to properly bean your proxy-factory-intent-filtered snicker-snacks and make them reverse-deionize in a co-variant fashion, while simultaneously generating your user interfaces in giant swaths of hand-coded, XML you could just .....

    stick a damn button on a damn form, and run the damn thing. You know what I mean? Yeah.

    Go Delphi.

    Sorry if that makes me a troglodyte, but that's how I feel.

    TPersistent: XE5 “Special” Upgrade a Bargain?

    $
    0
    0

    I just checked out the pricing for the XE5 “special” (from XE4) upgrade for Delphi XE5 Professional. It’s a whopping $499 CAD where the “regular” upgrade (Delphi 2010-XE3) is $549 CAD. Considering the XE5 Fix List does not seem to be published yet (Google can’t find it and there are no links in EMBT’s targeted email announcement), it’s a little hard to understand why the XE3 to XE4 upgrade was only $49 where the XE4 to XE5 upgrade is $499 when in both cases the focus appears to be on mobile development, which you do not get with the upgrade.

    I called EMBT sales and spoke to Tina. When asked she directed me to the Whats New page and when pressed said she would have to get back to me with the fix list.

    What I can infer from the Whats New page is that developers not buying the mobile pack will get a new time picker control, search filtering for TListView, a REST Client Library, REST Debugger tool, expanded FireDAC support for local databases in the Professional edition “…and more” (whatever that means).

    So if you’re looking for bug fixes, you might want to wait until the fix list is published before upgrading to see how “special” the upgrade is…

    This also begs the question why QC cannot be used to find all the QC items fixed in the latest release. Of course you would at least need a build #.

    Addendum:

    Tina just emailed me a link to the XE5 Fix List I am pleased to see QC #115925 is fixed as I submitted fixed code to TeeChart for that issue ;-).

    There are some 272 bug fixes in the list with some startling regressions including “Dataset closing doesn’t free fields”, “Exception in FMX180.bpl when resizing a Form”,”F4 key will hang IDE”, “Delphi XE4 Update 1 Crash when I add a TDatamodule”,”TSpinEdit will cause access violation in x64 Application”.  Lots of the fixes are for FireMonkey and Android, so a desktop developer who doesn’t buy the Mobile kit doesn’t seem to get that much for $499 IMHO.  Certainly the infamous “Out of Memory” when compiling large projects, especially project groups is certainly not fixed.

    As Tim mentions in his latest post, XE4 is only about 6 months old, so users buying two upgrades for the year would be looking at potentially $1000 CAD if the XE5 price is any indication of what the future holds for XE6.  At that price the yearly subscription for Oxygene at $599 for a cross upgrade looks mighty appealing…

    Don’t forget that REMObjects Oxygene not only supports .NET, and Mono (including 64 bit OS/X apps), but you can freely download the Oxygene compiler for build servers.  Last time I checked, you don’t even get the command line compiler with the Delphi trial which can make installing your components to try to upgrade applications a real royal pain!  AFAIK the Delphi OS/X compiler only supports 32 bit EXEs despite OS/X being 64 bit since 2007.  Obviously the focus is on mobile platforms and not the desktop where Delphi is strongest.

    BTW, when RemObjects released Oxygene 6.1 right on their Whats New page there is a link to the complete change log.  Heck you can even look at previous release changes to get a complete list of all changes from your version to the current one.  No need to google it, or call customer service.  Truly a different customer experience…

    Tim Anderson's ITWriting: Embarcadero RAD Studio XE5 (Delphi) for Android now available

    $
    0
    0

    Today Embarcadero released RAD Studio XE5 which lets you build apps for Windows, Mac, iOS and Android. You can also buy Delphi XE5 separately if you prefer.

    Embarcadero’s release cycle is relatively rapid. It was only six months ago that RAD Studio XE4 with iOS support appeared.

    The big deal in this release is Android

    ...continue readingEmbarcadero RAD Studio XE5 (Delphi) for Android now available


    TPersistent: Geolocation for XE5 not Working?

    $
    0
    0

    I just checked to see if the XE5 World Tour had been expanded to include any cities on the west coast of Canada and they have!  Apparently my previous post has gone unaddressed, even though I pointed out on August 23rd that the XE5 World Tour map was blatantly wrong and misleading, it remains uncorrected.  Toronto and Montreal apparently have been moved to British Columbia.  I thought it might be because no one reads this blog, but even the EMBT VP of Developer Relations commented on this post!  Whats a few thousand miles anyway….

    Toronto and Montreal moved to BC

    Toronto and Montreal moved to BC

    Dr.Bob's Delphi Notes: Sept 7th, 2013 - RAD in Action! and PasCon

    $
    0
    0
    The source files and slides from my Delphi XE5 iOS Development session at the RAD in Action! and PasCon of September 7th, 2013 in Leiden, are available for download now.

    Te Waka o Pascal: Not so Special Upgrade Pricing for XE5

    $
    0
    0
    XE5 is officially out today, and the online store now has pricing for the new release. Being a scant 6 months since XE4 was released, with a $49 special upgrade price for XE3 Pro customers, I looked to see what special price might be on offer for XE5. $499 is the answer. On the face […]

    Dr.Bob's Delphi Notes: Delphi and RAD Studio XE5 Released

    $
    0
    0
    Embarcadero just released Delphi, C++Builder and RAD Studio XE5, see http://www.embarcadero.com/products/rad-studio for general information.

    Te Waka o Pascal: A Shaggy Dog Goes for a Breath of Fresh Air

    $
    0
    0
    It has been a frustrating week for me in some regards. It all started with the news of Microsoft acquiring Nokia. At first I paid it no real attention. I have never had a Windows Phone and my few experiences of Windows on any sort of mobile or handheld device had not left me particularly […]
    Viewing all 1725 articles
    Browse latest View live