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 Component vendors: when you ship source code, make it IDE-browsable as well by compiling with $YD or $Y+

Posted by jpluimers on 2015/05/06

It took me a while to figure this one out:

When you have a registered Delphi, you can Ctrl-Click browse both the units and symbols of RTL, VCL, etc. But Delphi will not recompile these units.

Some third party components you cannot Ctrl-Click browse the units or symbols, unless you put the source directory in the Delphi Library Path (which causes them to be compiled each and every time).

This is because:

  • the precompiled DCUs are in the Delphi Library Path.
  • the source code is added to the Delphi Browsing Path (and sometimes not even that).
  • the DCUs don’t contain information that the source code is Browsable or Referencable as it was compiled with {$Y-}.

These are the possible values for that directive:

  1. {$Y-} or {$DEFINITIONINFO OFF} or {$REFERENCEINFO OFF},
  2. {$Y+} or{$REFERENCEINFO ON},
  3. {$YD} or {DEFINITIONINFO ON}

So please component vendors: when you ship source code, make it IDE-browsable as well by compiling with $YD or $Y+.

–jeroen

via:

Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development | 2 Comments »

Lars Fosdal: VS/C#6 is out-delphi-ing Delphi. I hope EMBT is paying attention. Currently…

Posted by jpluimers on 2015/05/01

Interesting, Lars Fosdal writes:

VS/C#6 is out-delphi-ing Delphi.

I hope EMBT is paying attention.

Currently live at http://channel9.msdn.com/

I already liked the 7 minute C#6 video from last year. This is even better.

–jeroen

via: VS/C#6 is out-delphi-ing Delphi. I hope EMBT is paying attention. Currently….

Posted in .NET, C#, C# 6 (Roslyn), Delphi, Development, Software Development, VB.NET, VB.NET 14.0 | 10 Comments »

Some interesting demographics on the G+ Delphi Developers community

Posted by jpluimers on 2015/04/28

Stefan Glienke started some interesting demographics polls on the G+ Delphi community.

Demographics are about group members that actually voted. Which might rule out Delphi programmers not writing English well.

Despite that, I think it actually tells a lot, especially when you read the comments as well.

And it made DavidI provide some background on the geographic distribution: Where in the world are programmers using Delphi? – Blogs.

–jeroen

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

Delphi XE8 things I learned from the second week of G+ reading

Posted by jpluimers on 2015/04/22

General XE8 news:

Components/tools/libraries updated to XE8:

–jeroen

via:

Delphi XE8 things I learned from the first week of G+ reading « The Wiert Corner – irregular stream of stuff.

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

Delphi on Windows x64: solution when project compiles fine under IDE, but not using MSBuild

Posted by jpluimers on 2015/04/21

Especially when using Delphi 2007 on Windows x64 system (8.x, 7, Vista, 2012 Server, 2008 Server, …), the Delphi specific .Targets files used by msbuild are simply installed to the wrong location.

A better warning for this is in my BeSharp.net repository: Run-Dependend-rsvars-From-Path.bat thanks to David Millington who wrote this:

If you copy

  • Borland.Common.Targets
  • Borland.Cpp.Targets
  • Borland.Delphi.Targets
  • Borland.Group.Targets

from

  • %windir%\Microsoft.NET\Framework\v2.0.50727

to

  • %windir%\Microsoft.NET\Framework64\v2.0.50727

then building via the command line works.

The rsvars.bat file is correct.

Note that my batch file checks for all target file sets:

Delphi 2007:

  set requiredTargets=Borland.Common.Targets Borland.Cpp.Targets Borland.Delphi.Targets Borland.Group.Targets

Delphi 2009 and up:

  set requiredTargets=CodeGear.Common.Targets CodeGear.Cpp.Targets CodeGear.Delphi.Targets CodeGear.Deployment.Targets CodeGear.Group.Targets CodeGear.Idl.Targets CodeGear.Profiles.Targets
  if %bdsVersion%==8 set requiredTargets=CodeGear.Common.Targets CodeGear.Cpp.Targets CodeGear.Delphi.Targets CodeGear.Group.Targets CodeGear.Idl.Targets
  if %bdsVersion%==13 set requiredTargets=CodeGear.Common.Targets CodeGear.Cpp.Targets CodeGear.Delphi.Targets CodeGear.Deployment.Targets CodeGear.Group.Targets CodeGear.Profiles.Targets

 

–jeroen

via [WayBack] QualityCentral: Project compiles fine under IDE, but not using MSBuild.

Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, QC, Software Development | 3 Comments »

Delphi XE8 things I learned from the first week of G+ reading

Posted by jpluimers on 2015/04/15

Components and tools that work with XE8:

Appmethod

--jeroen

Posted in Castalia, Delphi, Delphi XE8, Development, Software Development | Tagged: , , , | 3 Comments »

Now that XE8 is out, some Turbo Pascal history

Posted by jpluimers on 2015/04/14

A few people asked, so below is a picture of just a piece of my books closet.

From left to right:

  1. Object Professional 1.0 manuals volume 1-3
  2. BTree Filer 5.0 manual
  3. Turbo Professional manual (from 1985!)
  4. Borland Paradox Engine 3.0 manuals
  5. Crystal Reports Developers Edition
  6. Borland Open Architecture Handbook for Pascal
  7. Turbo Pascal 5.5 OOP Guide
  8. Turbo Pascal 5.5 Reference Guide
  9. Turbo Pascal 5.5 User’s Guide
  10. Turbo Pascal Quick Reference
  11. Programming with Turbo Vision

This is only the front-left portion of one shelve. Most shelves are two deep and about 4 times as wide as what you see here (:

I have floppies somewhere in my archive too. Need to dig them up some day.

–jeroen

via:

Read the rest of this entry »

Posted in Delphi, Delphi XE8, Development, History, Pascal, Software Development, Turbo Pascal | 6 Comments »

Delphi XE8 is out with version 22.0.19027.8951; Spring4D is almost ready.

Posted by jpluimers on 2015/04/09

A while ago I wrote about Delphi XE7 is out with version 21.0.17017.3725; Spring4D is almost ready, now I can repeat parts of it for XE8.

The download links for Delphi XE8, C++Builder XE8 and RAD Studio XE8 are there: ftpd and altd. A whopping  7,217,184,768 bytes (compare that to XE7 update 1 at 5,649,917,952 bytes: almost 30% increase) that has been seeded a few days ago with the version time stamped at the end of last month (like xe7), here is the version number: 22.0.19027.8951.

Before installing, note that in addition to the below documentation links:

Be sure to have at least 70 gigabytes of free disk space before you attempt to install.

This in addition to the almost 7 GiB ISO file (:

The download is fast as altd is on akamai: the 7 GiB downloaded in about 16 minutes. Google can do the math.

XE8 doc links

Spring4D

On the Spring4D side, Stefan and Honza have added XE8 support, so a new release of that can be near.

–jeroen 

Posted in Delphi, Delphi XE8, Development, Software Development | 9 Comments »

Marking code as obsolete/deprecated in C# and Delphi

Posted by jpluimers on 2015/04/07

During any software life cycle, you will want to phase out some code, and most likely want to mark code to be phased out in the future.

So here are two examples on how to do that in C# and in Delphi that just shows the effects of obsoleting/deprecating code.

Read the rest of this entry »

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development | 6 Comments »

When Delphi documentation hurts: REST.Response.Adapter.TRESTResponseDataSetAdapter – RAD Studio API Documentation

Posted by jpluimers on 2015/04/01

A lot of the stuff on the Embarcadero docwiki hurts. For instance most of the REST stuff (I’m not calling it documentation) is just generated scaffolding. Like REST.Json.TJson.

But the TRESTResponseDataSetAdapter has some amazing documenation. About TComponent that is:

TComponent is the common ancestor of all component classes.

TComponent is the base class for all components. Components are persistent objects that have the following capabilities:

IDE integration. The ability to appear on an IDE palette and be manipulated in a Form Designer.

Ownership. The ability to manage other components. If component A owns component B, then A is responsible for destroying B when A is destroyed.

Streaming and filing. Enhancements of the persistence features inherited from TPersistent.

To assist the doc team: this is a query for all pages containing “TComponent is the common ancestor of all component classes.”. Feel free to [WayBack] QC or QP it.

–jeroen

via: REST.Response.Adapter.TRESTResponseDataSetAdapter – RAD Studio API Documentation.

Posted in Delphi, Development, Fun, QC, Software Development | 2 Comments »