The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘Delphi’ Category

Embarcadero SummerSchool 2013 Lesson 4 Q&A

Posted by jpluimers on 2013/07/25

Replay video’s can be viewed through streaming.embarcadero.com (where you can also find the other series, downloads, etc).

The SummerSchool 2013 replay videos are at streaming.embarcadero.com/summerschool2013.

The Q&A from today’s session on “Accessing local storage” demonstrating iOS specifics in Delphi XE4: Read the rest of this entry »

Posted in Delphi, Delphi XE4, Development, Software Development | Tagged: , , , , , | Leave a Comment »

Reminder to Self: Messagepack / BSON / ProtocolBuffers

Posted by jpluimers on 2013/07/25

Need to find/create a Delphi compatible version of Messagepack or BSON.

–jeroen

via Serializing and deserializing (packing/unpacking) to a file and/or memorystream with MessagePack in C# ».

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Delphi, Delphi XE2, Delphi XE3, Development, Software Development | 4 Comments »

Delphi virtual constructors: example of the “Factory” design pattern (via: Stack Overflow)

Posted by jpluimers on 2013/07/18

I bumped into the below answer that I gave a while (what is 4 years in a developer’s life ) on StackOverflow.

It is about Delphi Design Patterns. Sepcifically the Factory Pattern, and explains how virtual constructors implement it.

They are one of the 3 corner stones on which the component based Delphi form designer and object inspector are built:

  • Virtual constructors
  • Properties (events are just a special form of property)
  • Run-Time Type Information.

So here it goes: Read the rest of this entry »

Posted in Delphi, Delphi 1, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Development, Software Development | 6 Comments »

UCSD Pascal – memories from the past….

Posted by jpluimers on 2013/07/10

Just found out that the kind people at BitSavers added some scanned USCD Pascal documentation in PDF format:

It reminds me of my early Pascal days on Apple ][. UCSD Pascal was so slow that I was glad to discover Turbo Pascal 1.0, which lacked some of the UCSD Pascal features (for instance cross platform – including Mac, almost 30 years ago! – and Turtle graphics), but was blazingly fast.

Trade offs indeed (:

–jeroen

Posted in BitSavers.org, Delphi, Development, History, Pascal, Software Development, Turbo Pascal, UCSD Pascal | 10 Comments »

2D transformations as answer to “delphi – Change orientation of a shape” – Stack Overflow

Posted by jpluimers on 2013/07/09

Sometimes a generic answer to a specific answer gives people a lot more insight into what they actually want to accomplish than a specific answer.

Plus that the knowledge does not only apply to VCL in any Delphi version: it works in any development environment where you can draw.

That’s why I like this 2D transformation answer so much: Read the rest of this entry »

Posted in Delphi, Delphi 1, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Development, Software Development | Leave a Comment »

Some great Delphi XE4 iOS push notification demos by Luis Felipe González Torres done in English by Anders Ohlsson

Posted by jpluimers on 2013/06/20

On the blog from Embarcadero MVP Luis Felipe González Torres are some great Delphi XE4 iOS demos.

However, the blog is Spanish (that’s probably why he is not on DelphiFeeds), so if you do not understand that you had to live with the Google Translate versions of the pages.

Until CodeRage Mobile that is: Anders Ohlsson gave a English presentation:

Creating Apple Push Notification Services (APNS) for your Mobile Applications

iOS supports the Apple Push Notification Services (APNS) This session will show you how to create a push notification services as part of your mobile application. APNS is service for sending information to iOS and OSX devices. This session will show you how to create server and device applications that create notifications containing the device token and JSON payload property list.

via CodeRage Mobile – Conference Sessions.

Basically he covered these Spanish blog posts where you can download the source code (Google translation in parenthesis):

  1. Delphi XE4 iOS. Adicionando soporte a Notificaciones Remotas (Video y Código Fuente) |.
    (Delphi XE4 iOS. Adding support for Notifications Remote (Video and Source) |)
  2. Delphi XE4 iOS. Flexibilizando el Soporte a Push Notification. Solucíon mas elegante! |.
    (Delphi XE4 iOS. Easing the Push Notification Support. More elegant solution! |)
  3. Delphi iOS XE4. Apple Push Notification. Capturando la notificación cuando la aplicación no se está ejecutando. |.
    (XE4 iOS Delphi. Apple Push Notification. Capturing the notification when the application is not running. |)
  4. Delphi iOS XE4. Apple Push. Configuración del Ambiente (Muy importante) |.
    (XE4 iOS Delphi. Apple Push. Environment Settings (important) |)

Important things:

–jeroen

Posted in Delphi, Delphi XE4, Development, FireMonkey, iOS, Software Development | Leave a Comment »

DIPP allows you to remove conditional directives from Delphi source code (via StackOverflow)

Posted by jpluimers on 2013/06/20

Cool to know that DIPP is able to strip directives from Delphi source code:

The freeware program DIPP from Delphi Inspiration can remove conditionals.

http://www.yunqa.de/delphi/doku.php/products/dipp/index

Even though DIPP does not support post-Delphi-2007 language enhancements, it usually does a very good job.

–jeroen

via: Delphi: Is there a tool that can remove conditional directives for particular conditional symbols? – Stack Overflow.

Posted in Delphi, Development, Software Development | Leave a Comment »

CodeRage Mobile day 2 QA

Posted by jpluimers on 2013/06/19

I had a bit of trouble getting into CodeRage Mobile: somehow the confirmation email never reached the pluimers.com servers. After retrying today, @EmbarcaderoTech sent a GotoMeeting link that worked.

Later I will try to trace back about the mail issue (:

I’m in now, and since I usually loose the QA information, here is a dump of the QA for today so far.

Will try to find time for post editing and getting the URLs clickable.

Welcome to CodeRage Mobile! Read the rest of this entry »

Posted in Barcode, Delphi, Delphi XE4, Development, FireMonkey, JavaScript/ECMAScript, jQuery, OS X FMX, Scripting, Software Development | Leave a Comment »

Vintage Dave is working on a new multithreaded memory manager for Delphi that does not have a global lock

Posted by jpluimers on 2013/06/19

The comment thread at via [WayBack] The Oracle at Delphi » Give in to the ARC side (now at [WayBackplace 1 and [WayBack] 2) is very interesting.

So soon after writing a StackOverflow [WayBackanswer on Delphi Memory Managers yesterday, [WayBack] this one by [WayBack] David M (aka vintagedave) caught my eye:

This is unannounced at the moment, but I am working on a new memory manager which does not have a global lock, and is designed for multithreaded usage, including cases where memory is allocated in one thread and freed in another, and many threads are allocating and freeing at once. It also uses a more secure design than FastMM4, which may be important for world-facing code, eg web servers. It’s a personal project which I have not yet announced, but if you are interested (Allen, Guenther, others) please feel free to contact me at vintagedave@gmail.com.

I wonder if it is better than the multithreaded Delphi memory managers I mentioned in the answer:

As a side note:

One of the reasons for using FastMM is the excellent debugging capabilities. It looks like – though not free – DDDebug extends this a lot!

I found it in Wanted: live leak detection for FastMM – DelphiFeeds.com and [WayBackTURBU Tech » Blog Archive » Wanted: live leak detection for FastMM.

–jeroen

via The Oracle at Delphi » Give in to the ARC side.

Posted in Delphi, Delphi XE4, Development, FastMM, Software Development | Tagged: , , , , | 9 Comments »

Delphi XE2: Update 4 is not the final update… Be sure to check out HotFix 1

Posted by jpluimers on 2013/06/18

When at clients, I often see Delphi XE2 only updated until Delphi XE2 Update 4 (sometimes not even Update 3 is installed, which means you can run into Strange Format result in Delphi XE2 when using Currency data types).

Update 4 is the latest update offered by the ‘check for updates’. But the actual latest update is CodeCentral ID: 28881, RAD Studio XE2 Update 4 Hotfix for FireMonkey and C++.

The final ISO does include this update, so if you ever need to re-install, do it from CodeCentral ID: 28882, Delphi XE2 and C++Builder XE2 ISO (includes Update 4 Hotfix).

You can check which updates you have installed in the Help -> About box of Delphi:

  • RAD Studio XE2 Update 4:
    version 16.0.4429.46931;
    Delphi XE2 and C++ Builder XE2 Update 4
  • RAD Studio XE2 Update 4 hotfix 1:
    version 16.0.4504.48759;
    Delphi XE2 and C++ Builder XE2 Update 4 HotFix1
    Delphi XE2 and C++ Builder XE2 Update 4

So be aware: sometimes the HotFix is only recognizable as the version number, not the version text.

Though HotFix is advertised as FireMonkey and C++ update, it also includes some Delphi fixes and makes sure you don’t get the below error messages from IDE Fix Pack 5.1 for 2009-XE3.

As a matter of fact, shortly after releasing, the author Andreas Hausladen posted IDE Fix Pack 5.1 for XE2 requires XE2 Hotfix 1.

Andreas Hausladen releases new versions of the IDE Fix Pack at irregular intervals. Watch the release page. Currently it is at version 5.3: IDE Fix Pack 5.3 and for Delphi XE2 it indicates “IDE Fix Pack 5.3 for XE2+UP4+Hotfix1”.

While installing the Hotfix 1, you can get messages like these:

---------------------------
Embarcadero RAD Studio XE2
---------------------------
Error
Error applying patch to file C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\lib\win64\release\IdSSLOpenSSLHeaders.dcu.  It has probably been updated by other means, and can no longer be modified by this patch.  For more information contact your patch vendor.
---------------------------
Abort   Retry   Ignore
---------------------------

The reason is that the installer thought it had enough disk space, but the dynamic swap file growth of Windows systems decreased the disk space after the initialler estimate.

Make sure you have at lease 4 gigabytes of disk space free before installing RAD Studio XE2 Update 4 Hotfix 1.

These are the error messages you can get: Read the rest of this entry »

Posted in Delphi, Delphi XE2, Development, Software Development | 1 Comment »