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

Archive for the ‘Delphi’ Category

CodeRage 9 Q&A: InterBase Keynote (Stephen Ball)

Posted by jpluimers on 2014/10/30

Session:

InterBase Keynote

If you need to manage distributed data over multiple locations then don’t miss the product address for InterBase! The next generation of InterBase is coming soon and will be super charged with a powerful new change tracking engine that makes managing distributed datasets a whole load easier!

Level: All
Stephen Ball – Embarcadero

Q&A:

Read the rest of this entry »

Posted in Appmethod, Barcode, Database Development, Delphi, Delphi XE7, Development, InterBase, Software Development | Tagged: | 1 Comment »

CodeRage 9 Q&A: Working with PDF and Office Documents using VCL and FireMonkey (Girish Patil)

Posted by jpluimers on 2014/10/30

Session:

Working with PDF and Office Documents using VCL and FireMonkey

In this session, we take a deep look into the all-new multi-format document processing toolset for Delphi from Gnostice. We take a brief look at architectural details of the product and then go into using the product. You’ll get to see real code examples for viewing, printing, converting and processing documents in Delphi VCL and FireMonkey on Desktop and mobiles devices. You’ll also see examples of document processing using the new Gnostice REST-based document server.

Level: All
Girish Patil – Gnostice

Q&A:

Read the rest of this entry »

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

CodeRage 9 Q&A: NestedDataSets in ClientDataSets (Cary Jensen)

Posted by jpluimers on 2014/10/30

Session:

NestedDataSets in ClientDataSets

A column of a ClientDataSet can contain a dataset, a tabular structure containing one or more columns and zero or more records. This presentation continues Cary Jensen’s CodeRage series on ClientDataSets by looking at this power field type.

Level: All
Cary Jensen – Jensen Data Systems, Inc.

Q&A:

Read the rest of this entry »

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

CodeRage 9 Q&A log: ClientDataSets and FDMemTables Compared (Cary Jensen)

Posted by jpluimers on 2014/10/30

Session:

ClientDataSets and FDMemTables Compared

ClientDataSets are in-memory tables that have been in RAD Studio since Delphi 3, but there’s a new kid in town, the FireDAC FDMemTable. This presentation, by ClientDataSet expert Cary Jensen, compares and contrasts these in-memory table classes, providing you with guidance on which to use and when.

Level: All
Cary Jensen – Jensen Data Systems, Inc.

The Q&A log:

Read the rest of this entry »

Posted in Appmethod, Delphi, Delphi XE7, Development, Software Development | 2 Comments »

Dark Patterns – User Interfaces Designed to Trick People

Posted by jpluimers on 2014/10/30

Interesting:

A Dark Pattern is a type of user interface that appears to have been carefully crafted to trick users into doing things, such as buying insurance with their purchase or signing up for recurring bills.

We developers have a big responsibility. Martin Fowler and Erik Dörnenburg (both ThoughtWorks) did a great presentation about that at the GOTO Aarhus 2014 Conference.

A quote:

“The developer who wrote that code is every bit as responsible as the person who told them to do it. You have a choice. You have a responsibility to ensure that your users are well treated and to reject dark patterns,” says Fowler. “We have a whole profession of people writing software and doing enormous things to change the way we live in the world.”

Please watch the video: Our Responsibility to Defeat Mass Surveillance – Erik Dörnenburg and Martin Fowler – YouTube.

–jeroen

via

Posted in .NET, Delphi, Development, Software Development, Usability, User Experience (ux) | 3 Comments »

Barry Kelly on how the Delphi Compiler used to be compiled (via: Google Groups)

Posted by jpluimers on 2014/10/23

not 100% accurate any more (now that the compiler gets more and more LLVM), but still accurate for most of the x86/x64 parts: Barry Kelly explaining how the Delphi compiler is built.

Some more of his posts.

–jeroen

via: Newbie question: What is the importance for a compiler to be able to compile itself? – Google Groups.

Posted in Delphi, Delphi 2, 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, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development | 2 Comments »

Barry Kelly on “Implementing Closures” in Delphi (via: Google Groups)

Posted by jpluimers on 2014/10/22

It is always nice to see one of the compiler engineers write down how something was implemented.

In this case, Barry Kelly explains in comp.compilers on Implementing Closures in Delphi 2009. The post is about 4.5 years old, but still very relevant.

About 9 months earlier, he participated in a Reddit thread about a similar topic. Worth reading too!

–jeroen

via: Implementing Closures – Google Groups.

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

Delphi fun code: How to make a water effect on TImage or anything? (via: Stack Overflow)

Posted by jpluimers on 2014/10/21

Every once in a while you see a question with some great code in the answers.

This is such a time: image – How to make a water effect on TImage or anything? – Stack Overflow.

–jeroen

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

The Delphi MESSAGE directive: don’t forget quotes!

Posted by jpluimers on 2014/10/15

The Delphi MESSAGE directive is a very powerful one, you can generate compiler hints, warnings and errors with it, even fatal ones that abort compilation.
The compiler will return error codes H1054 (hint), W1054 (warning), E1054 (error) or F1054 (fatal error), which in the documentation are known under the catch-all x1054.

You need to take a bit of care with message directives, especially with the quotes. For instance

{$Message Error 'Not implemented'}

gives you the error below, but continues compiling:

[DCC Error] E1054 Not implemented

However, if you forget the single quotes

{$Message Error Not implemented}

it gives you error E1030  (not x1054), which is a bit confusing as it is a catch-all for invalid directives:

[DCC Error] E1030 Invalid compiler directive: 'message'

Here is a full example (now moved to bitbucket) of all the message directives and compiler reactions you can get: Read the rest of this entry »

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

Files in your Delphi settings directory; How to relocate the Favourites on your Welcome page

Posted by jpluimers on 2014/10/14

Delphi and 3rd party tools keep some of the settings in your %AppData% directory. Much more convenient than the registry as they are easier to read and modify when needed (also easier to damage <g>). We’ll start with an overview where various versions of Delphi store their configuration files, then show how the Favourites on the Welcome Page are stored, then end with an overview of BDS, Company Names and Product Names. Read the rest of this entry »

Posted in Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Development, History, Software Development | 4 Comments »