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

I won’t make it to CodeRage this year, the Diving instructor and a diving buddy of my retarded brother just died in a diving accident: counselling to do

Posted by jpluimers on 2011/10/03

I’m really sorry to announce it, but I’m still shocked, while in the mean time providing counselling to my brother, providing the newspaper interviewer with background information on how diving with handicapped/retarded people works, and helping hands where I can.

It means I won’t make it to CodeRage this year. With pain in my heart, but even more pain for Fred Snijder (diving instructor) and Nico Laan (diving buddy), their families, friends, pupils, and co-divers. Those guys will be dearly missed, and leave an inexplicably large hole behind (no pun intended).

Just read, and shiver imagining that two of the most well trained and precautionary diving people I know just, well, died on October, 1st.

I’m in an utterly confused state of mind: sad, confused, supportive, etc.

Germany

2 Dutch divers died in German lake

The bodies of 2 divers were recovered on Sunday at a depth of 50 metres in the Kreidesee in Hemmoor, 30 miles southeast of Cuxhaven, following a diving accident.

The Delta Duikteam of Alkmaar had a group of 6 people diving at the 60-metre deep lake, 2 surfaced without problems, 2 others required to make an emergency ascent but they are not listed in life-threatening condition. Of the 2 missing divers whose bodies were found yesterday, 1 was an experienced instructor. 3rd October 2011

–jeroen, confused.

via: www.safetynews.co.uk

Fundiving    Kreidesee    Zevensprong    Delta Duikteam Alkmaar    AD newspaper    CodeRage

 

 

Posted in About, Delphi, Development, Personal, Software Development | 7 Comments »

EditorLineEnds.ttr – what is it?

Posted by jpluimers on 2011/09/29

Sometimes when you start Delphi 2005..2010 multiple times, you get an error message similar to this:

[Error]
Cannot create file "C:\DOCUME~1\username\LOCALS~1\Temp\EditorLineEnds.ttr". The process cannot access the file because it is being used by another process.
[OK]

Edit: It looks like some people have issues with Delphi 2006 and higher in combination with Windows 7  and higher and KB2982791 or KB2993651 installed. I only do for Delphi 2006 (for 2007 and higher I use the IdeFixPack from Andreas Hausladen). Thomas Mueller wrote a workaround which works in Delphi 2006 and up: Delphi 2007 error: “Cannot create file C:\Users\Admin\AppData\Local\Temp\EditorLineEnds.ttr” – Stack Overflow.

Since there are [WayBack] are [WayBack] a [WayBack] few [WayBack] QC [WayBack] entries on the EditorLineEnds.ttr file: what is it?

In fact, there are two files in that %TEMP% directory: EditorLineEnds.ttr and EditorLineEnds.for

EditorLineEnds.ttr is a TrueType font (you can copy it to EditorLineEnds.ttf and view it using the font viewer that Windows has built-in). Read the rest of this entry »

Posted in Delphi, Development, Power User, QC, Software Development | 2 Comments »

Delphi XE2 Update 1 is out; be sure to get it.

Posted by jpluimers on 2011/09/28

I’m at the BASTA.NET conference, so I need to keep this short:

Be sure to get Delphi XE2 Update 1 and read the release notes. You will need it in order to apply future updates, which will come soon and often: a big change when compared to previous product releases.

You will need do a full uninstall/install cycle, which will take a while.

On the Mac, you will also need to uninstall/install the Delphi XE 2 FireMonkey iOS support package as well.

It is worth it: tons of bug fixes, and an importent fix to comply with licensing (the first XE2 version had a license issue with the GLScene: if you have 3D apps, then Installing Update 1 and rebuilding your source will ensure that your applications have a valid redistributable license).

Bug fixes (over 120!) are in these areas:

  • FireMonkey design-time and run-time fixes
  • New VCL Styles
  • VCL Styles design-time and run-time fixes
  • IDE fixes to improve stability
  • C++ and Delphi compiler fixes

–jeroen

Posted in Delphi, Development, FireMonkey, Software Development | 4 Comments »

BLTN: GExperts build 1.35 for Delphi and RAD Studio XE2

Posted by jpluimers on 2011/09/28

I forgot to blog on this while prepping for Delphi Tage and DelphiLive, so here it goes (BLTN, no, not that movie):

Thursday, 01 September 2011 00:00
We now have a pre-release of GExperts 1.35 available for download that supports RAD Studio XE2.  We especially appreciate your help testing FireMonkey and 64-bit compatibility, support for unit scope prefixes, etc.

–jeroen

Via: Delphi and RAD Studio XE2 Support | General.

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

Delphi Spring, Mocks and how to use them: some links

Posted by jpluimers on 2011/09/27

Now that there is Spring and Mocks for Delphi, it is time to post a few links:

Hope you enjoy them as much as I do!

–jeroen

Posted in Delphi, Development, Software Development | 3 Comments »

A few more classics on BitSavers in the /pdf/borland tree

Posted by jpluimers on 2011/09/27

Hope you like these classics from the early Borland era:

Oh, and if you – like me – started in the Apple ][ and Lisa era, there are lots of nice documents of Apple products from that period to, for instance:

–jeroen

Via: Index of /pdf/borland.

Posted in BitSavers.org, Delphi, Development, History, Software Development | 5 Comments »

C# Using Blocks can Swallow Exceptions | DigitallyCreated

Posted by jpluimers on 2011/09/22

I got to the SafeUsingBlock extension method because of a nice StackOverflow thread on exceptions swallowed in a using block.

Actually, you can broaden the case into a wider scope: in any language when you protect resources in a try finally block (essentially, a using will turn into an implicit try finally block), and both the core logic and the finally throw an exception, the exception from the core block is swallowed.

Simple C# example:

using System;
public class Example
{
    public void Main()
    {
        try
        {
                try
                {
                    throw new ApplicationException("logic block");
                }
                finally
                {
                    throw new ApplicationException("finally block");
                }
        }
        catch (Exception error)
        {
            Console.WriteLine(error.ToString());
        }
    }
}

Simple Delphi example:

program Example;
begin
  try
    try
      raise Exception.Create('logic block');
    finally
      raise Exception.Create('finally block');
    end;
  except
    on error: Exception do
    begin
      Write(error.ClassName, ' ', error.Message);
    end;
  end;
end.

Both examples will only write out the finally block exception message, not the logic block exception message.

This is a corner case (like the example from the MSDN documentation), from which the SafeUsingBlock protects you from by providing an AggregateException class.

In C#, it is a guideline to avoid throwing exceptions in the Dispose when implementing the disposable pattern.

This is good practice in any programming environment: when disposing objects, only throw exceptions in very critical situations when the containing process has been corrupted.

Practically this is very easy as the disposers are very thin and should not contain any business logic, so it is pretty easy to spot places where the program state really is corrupt.

An other alternative is for instance have a Close method that throws an exception, and a disposer not throwing.

–jeroen

via C# Using Blocks can Swallow Exceptions | DigitallyCreated.

Posted in .NET, C#, Delphi, Development, Software Development | 7 Comments »

Dropbox – Simplify your life – easy way to sync your iOS Delphi XE2 FireMonkey stuff between your Mac and PC

Posted by jpluimers on 2011/09/20

One of the things hard when doing FireMonkey iOS development Delphi XE2 is that you have a multi stage process:

  1. Develop and test using Delphi XE2 on Windows
  2. Compile and deploy on the iOS Simulator using xCode on OS X
  3. Deploy on the real iOS hardware using xCode OS X

Basically you need to share your project files both ways between Windows and OS X.

Naturally, you would share files between your Mac and Windows using Samba. With the introduction of OS X Lion, the Samba support was rewritten, causing all sorts of problems.

One of the problems is that it uses a lot of CPU (I tried copying over a 40GB VM, and stopped because the fan in my MacBook Air was making so much noise, I was afraid it was going to take off).
I didn’t even realize it had one, but a MacBook Air has a Fan, and it vents through the keyboard :)

Now I use DropBox to share files between it. If you like that to, sign up with the URL at the end of this line. The 2GB account is free! http://db.tt/6f95UJW

And if you know a better way of sharing: please let me know!

–jeroen

Via: Dropbox – Referrals – Simplify your life.

Posted in Apple, Delphi, Development, FireMonkey, Mac OS X 10.7 Lion, Power User, Software Development | 15 Comments »

Windows Metro Style Apps Developer Downloads: very early version of Windows 8

Posted by jpluimers on 2011/09/14

The download page states

The Windows Developer Preview is a pre-beta version of Windows 8 for developers.

But of course this is also interesting to designers and regular users: getting a hands-on impression of what Metro will bring to Windows 8.

–jeroen

via: Windows Metro Style Apps Developer Downloads.

Posted in .NET, Delphi, Development, Power User, Software Development, Windows, Windows 8 | 2 Comments »

Delphi XE2 x64 Extended floating point support: CodeCentral 28488 TExtendedX87: FPU-backed 80-bit Extended type for Win64

Posted by jpluimers on 2011/09/14

in the Delphi 64 world, there is no official support for the Extended data type for various reasons.

If you really need it, then you can use the TExtendedX87 unit by Philipp M. Schlüter as mentioned in this Embarcadero forum thread.

–jeroen

Via: 28488 TExtendedX87: FPU-backed 80-bit Extended type for Win64.

Posted in Algorithms, Delphi, Delphi x64, Development, Floating point handling, Software Development | 2 Comments »