Delphi 2007 Handbook








November 4, 2006

DevCo Tech Blogs: Exceptions, Code Completion, VCL Stuff

Over the last wweek there have been a few interesting technical posts in DevCo blogs... by Allen, Steve, and Nick.

While blogs often cover products evolution and features, the last week has seen a number of interesting technical / instructional posts by R&D members and product managers at DevCo. Allen Bauer made 3 blog entries covering exceptions and related issues, Steve Trefethen posted a video on Code Completion and related topics, Nick Hodges a video covering some recent features of the VCL, like margins and paddings. Here is the list of links:

I've been busy this week, plus my kids have been home from school for two days of holiday... that's why I didn't blog earlier and I'm catching up now. I find Allen's technical posts referenced above particularly interesting. He mentions facts that are indeed not very well known, like the destructor being called in case a constructor fails. I've seen many programs break because of this. On the other hand, my books (including my free online ones) cover the other features discussed. Which brings me to two questions:

  1. a feature discussed only in my books get hidden and buried... if there any other way for me to spread the word, while making at least some money?
  2. truly, a video can be worth a thousand words...




 

2 Comments

DevCo Tech Blogs: Exceptions, Code Completion, VCL Stuff 

"He mentions facts that are indeed not very well 
known, like the destructor being called in case a 
constructor fails. I've seen many programs break 
because of this"

It's ironic that these facts "not very well known" 
are *very well documented*, even in the online help, 
and AFAIK date back to Turbo Pascal with Objects.

Topic: Constructors
"If an exception is raised during execution of a 
constructor that was invoked on a class reference, 
the Destroy destructor is automatically called to 
destroy the unfinished object."

Topic: Destructors
"When an exception is raised during creation of an 
object, Destroy is automatically called to dispose 
of the unfinished object. This means that Destroy 
must be prepared to dispose of partially constructed 
objects."

It's a pity to see how many Delphi developers didn't 
ever care to give a read to the documentation and 
work using beginners books, second-hand informations 
and "trial-and-error" approaches only. Building 
robust applications does not need a VM between your 
app and the OS. It needs a brain, and learning.

I understand many books aimed at beginners won't 
explain constructors in depth. But once one mastered 
the basics, it's time to revisit all features in 
depth. 

I didn't like Borland removed printed documentation 
from the box. Fundamentals like those should be 
available on printed manuals, easier to read.
And if developers don't read them, well, they must 
blame themsevelves only when writing broken 
applications.

"a feature discussed only in my books get hidden and 
buried... if there any other way for me to spread 
the word, while making at least some money?"

Well, with the Interner is getting more and more 
difficult to mak money "selling informations". There 
are many free sources, although the reliability of 
many of them is very low. It looks only a bunch of 
people is willing to pay for good and reliable 
sources. Most people like to be paid for their work, 
but don't like to pay for others'.

Maybe DevCo. could set up a Delphi Wiki and 
pay "gurus" to feed it with such kind of infos.
Comment by Kent Morwath on November 5, 19:25

DevCo Tech Blogs: Exceptions, Code Completion, VCL Stuff 

Marco,

As for making some money, perhaps video-casts?

What are the Delphi users' needs today?  (I do 
ASP.NET using VB.NET, but still miss my Delphi days).

Conversion of Delphi to Delphi.NET?  Migrating from 
D5 to D-whatever?  Refactoring?  Salvaging companies 
who don't know what to do with their big mess of 
Delphi 5 code?

Comment by Steve on November 7, 23:30


Post Your Comment

Click here for posting your feedback to this blog.

There are currently 0 pending (unapproved) messages.