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

Do not share DCU files between projects (via: delphi – Compiler Directive IF and IFEND – Stack Overflow)

Posted by jpluimers on 2014/02/13

Summary: Always try to avoid sharing .DCU files between projects.

I see a lot of projects at clients that do not have their individual DCU directories set (therefore having the DCU files in the same directory as the PAS files causing shared units to share the DCU files), or share DCU files among different projects.

Both are a very bad idea, as the compiler does not always understand when the DCU file does not match the combination of PAS file and compiler options.

The result is the occasional use of the DCU file in stead of the PAS file causing wrong code to be used, or wrong debugger information to be included.

Danny Thorpe phrased it on Stack Overflow: Read the rest of this entry »

Posted in Borland Pascal, Delphi, Delphi 1, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Development, FreePascal, Lazarus, Pascal, Turbo Pascal | 9 Comments »

Q&A log for the “RAD-in-Action Webinar Unit Testing in Delphi featuring Nick Hodges”

Posted by jpluimers on 2014/02/12

Don’t forget to register: RAD-in-Action Webinar Unit Testing in Delphi featuring Nick Hodges « The Wiert Corner – irregular stream of stuff.

Here is the Q&A part for the “Mid” one (I will edit later): Read the rest of this entry »

Posted in Delphi, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development | 2 Comments »

Don’t forget to register: RAD-in-Action Webinar Unit Testing in Delphi featuring Nick Hodges

Posted by jpluimers on 2014/02/12

Do not forget to register for the RAD-in-Action Webinar Unit Testing in Delphi featuring Nick Hodges.

If you cannot watch it live: register anyway, as that will give you the URL for the replay download.

Very interesting stuff (I attended his sessions during the German EKON Conference) and a very entertaining speaker.

He is going to cover a lot in this seminar, and it is a great addition to the material in his Coding in Delphi book (Warren Postma wrote a nice review). You get the electronic edition of the book free when you have Delphi XE5, a hard-copy should be available soon. Read the rest of this entry »

Posted in Delphi, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development | Tagged: , , | 1 Comment »

Delphi: some notes on running the RADPAServer/PAServer debugger platform assistant

Posted by jpluimers on 2014/02/12

Just as a few small notes as a reminder to myself:

  1. bash profile shortcuts to the right PAServer or paserver
  2. PAServer command-line options
  3. example output of PAServer commands

Lets get started: Read the rest of this entry »

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

Ready to cast: Chromecast now open to developers with the Google Cast SDK #interesting #fun (via: Chromium Blog)

Posted by jpluimers on 2014/02/03

With a more decent internet connection during our trip, it is time to catch up on some recent news.

The first that caught my eye was that the Chromecast API now is open to all developers.

Developer information is available through Casting Your Content to the Big Screen – Google Cast — Google Developers.

You need to pay a one-time USD 5 fee per development account (how’s that Apple?) for the Google Cast SDK Developer Console.

After that, you will have to register your Chromecast device(s) and custom or styled media receiver apps.

Interesting. Fun.

I hope this can be combined with the new Smart Mobile Studio 2.0 release or the Delphi for Android support.

Will get back on that as soon as I’m back home.

Resources:

More links:

–jeroen

via: Chromium Blog: Ready to cast: Chromecast now open to developers with the Google Cast SDK.

Posted in Chrome, Chromecast, Delphi, Delphi XE5, Development, Google, JavaScript/ECMAScript, Pascal, Power User, Scripting, Smart Mobile Studio, Software Development | 1 Comment »

delphi – With a class operator is an implicit typecast to itself allowed? – Stack Overflow

Posted by jpluimers on 2014/01/29

In the series “interesting stuff you can do with Implicit operators”: delphi – With a class operator is an implicit typecast to itself allowed? – Stack Overflow.

Be careful though, as Implicit assignment will allow more code paths to the compiler than you expect at first sight (:

–jeroen

Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development | Leave a Comment »

.NET/C#: an alias is not the same as a synonym: int versus Int32, etc (fun with enums and aliases part 1)

Posted by jpluimers on 2014/01/28

I was amongst the C# programmers that believe the below table of C# integral types is an alias table. But it is not: it is a synonym table.

C# type .NET Framework Type/
Common Type System
byte System.Byte
sbyte System.SByte
short System.Int16
ushort System.UInt16
int System.Int32
uint System.UInt32
long System.Int64
ulong System.UInt64

You can use the common type system types as coding standard, or prefer the C# types. There are arguments for both.

I am still in the first group: prefer CTS types. They make changing between .NET languages a lot easier (C# and VB.NET are not the only .NET based CLI languages I use).

And indeed almost everywhere you can exchange the .NET Framework Type and the C# type without changing meaning.

There are two exceptions Read the rest of this entry »

Posted in .NET, C#, Delphi, Development, Jon Skeet, Software Development | 1 Comment »

Happy 30th birthday Mac!

Posted by jpluimers on 2014/01/24

Being away from a computer sometimes means you forget about events.

So before I forget: happy 30th birthday Mac!

For me, real programming started 31 years ago on an Apple II at high school, soon followed by a II+ and a //e. At first, I was programming in both Integer Basic and AppleSoft Basic, then with Apple Pascal (which was based on UCSD Pascal, but way too slow), and finally with Turbo Pascal 1.0 (after they installed a Microsoft Z-80 softcard in a few of the machines which allowed it to run CP/M).

Back then me, nor my parents could afford a computer like a Mac, but I was lucky enough to keep on people at the “close by” (30 minutes by bicycle) University to use one and program in hyper card and various Pascal dialects (and later Delphi).

Now I own a few Macs (most more portable than the //c) bought a //e and //c last summer and collecting some extension cards to make life easier.

Just look at the B&N magazine rack how popular the Apple stuff is today:

image

So again: happy 30th birthday Mac!

Without you, I wouldn’t be a software developer.

–jeroen

via: Apple bracht eerste Mac-computer 30 jaar geleden uit – Computer – Nieuws – Tweakers.

Posted in //e, Apple, Apple Pascal, Delphi, Development, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.4 Tiger, Mac OS X 10.5 Leopard, Mac OS X 10.6 Snow Leopard, Mac OS X 10.7 Lion, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, Object Pascal, OS X 10.8 Mountain Lion, OS X 10.9 Mavericks, Pascal, Power User, Software Development, Think Pascal, Turbo Pascal, UCSD Pascal | 1 Comment »

Pre-build trick does not work to circumvent [BRCC32 Error] xxx.vrc(1): error creating xxx.res (via: Embarcadero Discussion Forums & StackOverflow)

Posted by jpluimers on 2014/01/10

Ever since around Delphi 2007, it started to use temporary .VRC files to re-build the project .RES file.

It confuses people, and with reason as the only public information about it on the dockwiki seems to be in the Version Info page (though there is more on the other embarcadero sites).

The reason is that parts of the .RES file are no more leading in the process of getting them from your project options to the final binary (EXE/DLL/BPL/…) of your project.

Delphi XE3 for instance can have these resource structures in the .VRC file:

Except for type 24, Delphi XE2 seems to have the same kinds of resource types.

All in all, most if not all of the .RES files are being auto-generated for at least a couple of years now so there is less and less need to put it under version control.

The problem is that if for one reason or the other, your project .RES file becomes readonly, and you get errors like mentioned in Why does a projects res file need to ….

[BRCC32 Error] xxx.vrc(1): error creating xxx.res

.RES in VCS or not?

Read the rest of this entry »

Posted in Conference Topics, Conferences, Delphi, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Event, QC, Resource Files and Scripts (.res/.rc), Software Development | Leave a Comment »

Delphi SOAP: some reminders to Self

Posted by jpluimers on 2014/01/04

Hadn’t been doing SOAP in Delphi for a while, and needed to send some Delphi data structures over the write where both Client and Server were going to be Delphi.

These links helped me:

If both client and server are Delphi, you can share the interface units and registration.

Note: since native Delphi SOAP support uses old-skool RTTI, so any property you want to go over the wire needs to be published, not public.

If you want to go beyond that, or use other protocols than SOAP, use libraries for Delphi like RemObjects SDK.

–jeroen

Posted in Conference Topics, Conferences, Delphi, Delphi XE3, Delphi XE4, Delphi XE5, Development, Event, Software Development | Leave a Comment »