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,835 other subscribers

Archive for the ‘Delphi’ Category

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 »

Niklaus Wirth’s “Good Ideas, Through the Looking Glass” (via: MetaFilter)

Posted by jpluimers on 2014/01/02

I forgot who pointed me at this, but recently I came across a reference to the Good Ideas, Through the Looking Glass paper by Niklaus Wirth (by many known as the “father” of Pascal, though he has done a lot more – for instance the WSN – , still is involved with the ETH in Zürich, and turns 80 on February 15h).

Back when it appeared in the 2005/2006 timeframe I missed it, and I’m glad to have bumped into just for the historic perspective he offers. I can understand some will disagree with parts of his conclusions and observations, that’s why I like that MetaFilter has a nice page with discussion about it and a link to the PDF version of the paper.

I also like that Niklaus kept active in the field of computer science for so long, similar to Donald Knuth. There is a lot to having a great historic perspective to things.

–jeroen

via: Good Ideas, Through the Looking Glass | MetaFilter.

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

Some links on Delphi, JNI, Android

Posted by jpluimers on 2013/12/30

So I won’t forget to read these:

Some of my own work on this back in the Delphi 7 days:

–jeroen

Posted in Delphi, Delphi 7, Delphi XE5, Development, Java, Software Development | Leave a Comment »

Extreme Programming, a Reflection (via: 8th Light)

Posted by jpluimers on 2013/12/29

Thanks Uncle Bob Martin for posting this.

I’ve been trying (with increasing success: it takes time to get this all right) to practice XP (through various name changes) as much and wide as possible since almost 14 years, and only the last few years it is starting to be common practice for many more people.

take a moment to reflect back on 1999. A time when Kent Beck wrote a ground-breaking book. A book that changed everything. Look back and remember: Extreme Programming; and recognize it as the core of what we, today, simply think of as:

Good Software Practice.

–jeroen

via: Extreme Programming, a Reflection | 8th Light.

Posted in .NET, Agile, Continuous Integration, Delphi, Design Patterns, Development, Software Development, Source Code Management, Technical Debt, Testing, Unit Testing | Leave a Comment »

Delphi and LLVM: what is your take on this?

Posted by jpluimers on 2013/12/27

One more for the weekend (:

I wrote about Some links on the Delphi compiler and the LLVM Compiler Infrastructure Project about a year and a half ago which caused a short discussion on the embarcadero forums. A few month later Robert Love showed his views in a response to Tim Anderson writing about Clang and LLVM in the C++ side of the toolchain. Tim Anderson wrote more about LLVM in the Delphi tool chain  in September 2012, then it went quiet for a while.

Since then the LLVM tool chain has integrated itself into both the C++ and Delphi toolchains and Wired wrote about LLVM.

Gunsmoker – who works at EurekaLog – wrote up some interesting comments in Russian (I hope the English Google translation is good enough).

In my view, the LLVM tool chain opens a lot more possibilities (shared back-end for Delphi and C++, coverage of more platforms, better optimization), but is also a lot slower and makes the debugging part a lot harder as the debugger is – symbol wise – much further away from the compiler than in the traditional setting (hence the 3 levels of debugging information that got introduced in Delphi XE5 and the compatibility problem that came with it).

I’m wondering what other users in the Delphi community think about the LVVM chain: is it working good enough for you? Should it be integrated further into the Windows/OSX parts of the chain?

–jeroen

Posted in Delphi, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development | 26 Comments »

X-mas present: Beyond Compare v4 beta for Mac OS X, Windows and Linux

Posted by jpluimers on 2013/12/24

I’ve been wanting this a very long time, so I’m going to install it Right Now ™ (:

Right before X-Mas, Scooter Software did the ANN: Beyond Compare 4.0 beta available on Windows, Linux, and OS X:

Posted: Dec 23, 2013 4:17 PM

Beyond Compare 4.0 beta is now available for testing on Windows, Linux, and OS X.

http://www.scootersoftware.com/beta

This version adds a number of new features: Read the rest of this entry »

Posted in *nix, Apple, Beyond Compare, Delphi, Development, Linux, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.7 Lion, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, OS X 10.8 Mountain Lion, Power User, Software Development, Source Code Management, SuSE Linux, Windows | Leave a Comment »