Dr.Bob Examines... is a regular monthly column (since Y2K) in which I will examine new and interesting features of Delphi (for .NET), Kylix, C++Builder, JBuilder, or C#(Builder).
You can now check the RSS feed feed for monthly "Dr.Bob Examines" updates.
- November 2011: C++Builder XE2 and FireMonkey
In this article, I'll cover cross-platform application development with Embarcadero C++Builder XE2 and FireMonkey (for Win32 and Mac OS X).
- October 2011: Checking EU VAT numbers via SOAP
In this article, I'll describe how to check European VAT numbers using a SOAP Web Services with Delphi XE2.
- September 2011: Delphi XE2 and Advantage TDataSet Descendants
In this article, I'll demonstrate how we can recompile and install the ADS TDataSet component packages for Delphi and RAD Studio XE2 with a few minor changes and code edits.
- August 2011: C++Builder XE2 and FireMonkey
In this article, I'll introduce the new FireMonkey GUI framework and the cross-platform capabilities of C++Builder XE2, producing a cross-platform 32-bit Windows - Mac OS X application.
- July 2011: Advantage and DataSnap Clients
In this article, I'll write a DataSnap Client application for the DataSnap Server based on the Advantage Database Server from last month.
- June 2011: Advantage and DataSnap Servers
In this article, I'll demonstrate how we can use Advantage Database Server to build Delphi DataSnap middle-ware Servers.
- May 2011: Delphi 64-bit Compiler
In this article, I'll cover some of the things to watch out for when using the Delphi 64-bit compiler (or when preparing your 32-bit code for the 64-bit world).
- April 2011: IntraWeb and DataSnap
In this article, I'll describe the way for an IntraWeb application to act as DataSnap client in combination with data pooling (at the IntraWeb side).
- March 2011: Analysing TClientDataSet XML/CDS files
In this article, I'll demonstrate how to analyse TClientDataSet data files in XML or CDS format and produce a plain text or HTML output with the results.
- February 2011: Delphi and the iPhone
In this article, I'll show how we can write applications for the iPhone 4, using Delphi XE, IntraWeb XI and the TMS IntraWeb iPhone Control Pack.
- January 2011: Delphi XE and SubVersion Integration
In this article, I'll show how we can configure and use the SubVersion integration in Delphi XE, which I'm using to publish the source code examples from my recent Delphi XE Development Essentials courseware manual.
- December 2010: CodeSite Express
In this article, I'll show how we can use CodeSite Express in Delphi XE in adding intelligent and powerful logging (and viewing) capabilities to our Delphi applications.
- November 2010: AQtime Standard
In this article, I'll show how we can use AQtime Standard in Delphi XE to profile applications and find performance as well as other bottle-necks.
- October 2010: Using ADS with Delphi Prism and ASP.NET
In this article, I will demonstrate the use of ADS as a web database for an ASP.NET web project (written using Delphi Prism XE) that implements a registration form for events and seminars.
- September 2010: Advantage Database Server Components in Delphi XE
In this article, I'll demonstrate how we can recompile and install the ADS TDataSet component packages for Delphi and RAD Studio XE.
- August 2010: Delphi XE
In this article, I'll describe my first look and experiences with Delphi XE and RAD Studio XE based on the preparations for the RAD Studio XE launch in The Netherlands (and my Dutch Delphi OplossingsCourant).
- July 2010: Securing Chat Server with SOAP Headers
In this article, I'll demonstrate how we can secure the (Delphi Prism XE) ASP.NET chat server with SOAP headers, so not every (un-authorised) client application can "break in" and participate in the chat.
This article was the basis for my CodeRage 5 session on Friday, October 8, 2010.
- June 2010: C++Builder 2010 and DataSnap
In this article, I'll demonstrate how to build C++Builder 2010 DataSnap Servers. I will take you all the way, from start to deployment, and even to server methods which out-of-the-box are not possible in C++ for C++Builder 2010.
- May 2010: Fun with the Windows 7 Taskbar
In this article, I'll show how we can manipulate the Windows 7 taskbar, and also how to solve an issue when running an application with the “run as Administrator” option while needing the taskbar to be able to send messages to it.
- April 2010: Moving from the BDE to ADS
In this article, I'll explain how developers can migrate from the (deprecated!) BDE to the Advantage Database Server (ADS) and the Advantage TDataSet descendant components.
- March 2010: Deployment on Windows Server 2008 and IIS7
In this article, I'll explain how we can deploy ISAPI DLLs and/or CGI executables on Windows Server 2008 and Internet Information Services (IIS) version 7.
- February 2010: Delphi Prism ASP.NET web chat service
In this article, I'll demonstrate how we can use Delphi Prism and ASP.NET to write a web chat service, consuming it in an ASP.NET web form as well.
- January 2010: Delphi 2010 Delayed Dynamic Link Libraries
In this article, I'll demonstrate how we can use the new delayed keyword as new way to load DLLs (compared to implicit and explicit importing).
- December 2009: AutoIncrement fields and DataSnap 2010
In this article, I'll explain and demonstrate how we can define and use AutoIncrement fields (in SQL Server or Blackfish SQL) with Delphi 2010's DataSnap.
- November 2009: Delphi 2010 and WCF (Windows Communication Foundation) Clients
In this article, I'll demonstrate how we can use Delphi 2010 to import and consume WCF (Windows Communication Foundation) applications (written using Delphi Prism in the June 2009 column).
- October 2009: Delphi 2010 DataSnap Enhancements
In this article, which is published as a white paper with supporting videos on the Embarcadero site, I'll demonstrate some of the enhancements in Delphi 2010's DataSnap technologies.
- September 2009: Delphi 2010 and Upgrades
In this article, I'll cover reasons to upgrade to Delphi 2010, as well as the upcoming new upgrade policy from Embarcadero that will become in effect on 1-1-2010.
- August 2009: Delphi 2010 Touch
In this article, I'll demonstrate the new functionality of Delphi 2010: Touch and Gesture - not just on Windows 7, but on all versions of Windows (well, 2000 and later at least).
- July 2009: Smart Clients with Delphi and RemObjects SDK
In this article, I'll explain the concept of thin- and smart clients, and present the slides as well as source code and video that was used for the CodeRage IV session early September (but prepared in July and August).
- June 2009: Delphi Prism and WCF (Windows Communication Foundation)
In this article, I'll demonstrate how we can use Delphi Prism to create WCF (Windows Communication Foundation) applications, a logical follow-up from the SOAP articles in the previous months.
- May 2009: Delphi Prism and Http Handlers
In this article, I'll demonstrate how we can use Delphi Prism to create Http Handlers that return just about anything (images in my example, but this could also be XML or PDF files).
- April 2009: Delphi Prism Web Services and SOAP Security
In this article, I'll demonstrate how to use SOAP Headers as security technique for ASP.NET Web Service projects using Delphi Prism (extending the example from last month by adding a security layer to it).
- March 2009: Delphi Prism Web Service Projects (and Session Info)
In this article, I'll demonstrate the new Delphi Prism ASP.NET projects with Web Services, and how to use the Session to store and retrieve information.
- February 2009: Consuming Web Services with Delphi Prism
In this article, I'll demonstrate how to consume and use Web Services using Delphi Prism again, showing how to make synchronous as well as asynchronous calls to the web methods.
- January 2009: ASP.NET Web Services with Delphi Prism 2009
In this article, I'll implement and deploy an ASP.NET SOAP Web Service with Delphi Prism 2009, writing a web method that can convert numbers to (Dutch) words.
- December 2008: CodeRage III
In this article, I'll introduce my two CodeRage III sessions: Exploring DataSnap with Delphi 2009 (Win32) and Delphi Prism (.NET) and Using RemObjects SDK and Hydra for Cross-platform Multi-tier Delphi Applications.
- November 2008: Delphi Unicode
In this article, I'll explain what Unicode is and demonstrate how Delphi 2009 supports Unicode, including a list with some useful Delphi 2009 Unicode tips.
- October 2008: Delphi 2009 Generics and Anonymous Methods
In this article, I'll examine Delphi 2009 Generics and Anonymous Methods, and demonstrate how we can combine these two features in a useful way.
- September 2008: Delphi 2009 Anonymous Methods
In this article, I'll examine Delphi 2009 Anonymous Methods as well as some goodies from the Generics.Defaults unit of Delphi 2009.
- August 2008: Delphi 2009 Generics
In this article, I'll examine Delphi 2009 Generics (also known as Parameterised Types) and especially Generic Methods, with some real-world examples.
- July 2008: Delphi and Web Spidering
In this article, I'll show how we can use Delphi to build a broken link detector, used for some web spidering along the way.
- June 2008: Win32 SOAP and Exceptions
In this article, I'll demonstrate how Delphi for Win32 Web Services can create and handle SOAP Exceptions (as well as custom SOAP Exceptions) - with a little fix from CodeGear's Jean-Marie (Bruneau) Babet.
- May 2008: IntraWeb and ActiveForms
In this article, I'll demonstrate how IntraWeb (a server-side web application framework) can work together with ActiveForms (a IE-specific browser side solution) in order to get the best of both worlds: native access and server side control.
- April 2008: Generating Documentation
In this article, I'll share some special techniques to let Delphi generate documentation for your classes, including some live templates that help you produce the required documentation comments.
- March 2008: ASP.NET 2.0 Master-Content Pages and Navigation
In this article, I'll explain what ASP.NET master-content pages (and navigation) are all about, and what the CSS Layouts in the Object Repository will look like if you plan to use them.
- February 2008: Migrating Data from local TDataSet (like BDE) to SQL DBMS (like Blackfish SQL)
In this article, I'll show how to migrate data from a TDataSet (which includes BDE tables in Paradox and dBASE format) to a SQL DBMS (like Blackfish SQL). Very helpful in order to (finally) get rid of the BDE (which doesn't work on 64-bit Vista!)...
- January 2008: Using Short Message Services in Delphi applications
In this article, I'll show you how to compose and automatically send SMS messages from all kinds of Delphi applications, from Win32 to ASP.NET web applications.
- December 2007: Delphi for .NET Database Transactions
In this article, I'll continue with the coverage of Database Transactions in Delphi applications, this time focussing on Delphi for .NET targets.
- November 2007: Delphi Win32 Database Transactions
In this article, I'll examine transaction support in the different Win32 data access technologies available in Delphi and C++Builder, from BDE / SQL Links (deprecated!) via dbGo for ADO to dbExpress and MIDAS / DataSnap.
- October 2007: ASP.NET Error Handling
In this article, I'll explain and demonstrate the foundations of ASP.NET error handling, applicable to both ASP.NET 1.1 and ASP.NET 2.0 web applications.
- September 2007: Debugging ASP.NET on Windows Vista and IIS7
In this article, I will discuss a problem introduced by Windows Vista and IIS7 related to the act of debugging ASP.NET applications using Delphi for .NET (i.e. Delphi 8 for .NET, Delphi 2005, Delphi 2006 or Turbo Delphi 2006 for .NET) as well as the way things work using CodeGear RAD Studio 2007.
- August 2007: Mixing C++Builder and Delphi code
In this article, I will demonstrate that C++Builder can not only compile Delphi source code, but that the CodeGear RAD Studio with the C++Builder 2007 and Delphi 2007 for .NET identities combined can mix languages (one per source file) in C++(Builder) projects.
- July 2007: DBX4
In this article, I will examine DBX4 - the new data access architecture in CodeGear RAD Studio 5.0, used by Delphi 2007 for Win32 and C++Builder 2007.
- June 2007: Debugging SOAP at CodeGear Europe Developer Days
In this article, I'll look back at my Debugging/Tracing/Testing Win32 SOAP Web Services session performed at the CodeGear Europe Developer Days.
- May 2007: C++Builder 2007 for Win32
In this article, I will examine C++Builder 2007 for Win32, the second personality of the CodeGear RAD Studio, which was released in the second quarter of 2007.
- April 2007: Delphi 2007 for Win32
In this article, I will examine Delphi 2007 for Win32, the first personality of the CodeGear RAD Studio, which was released in the first quarter of 2007.
- March 2007: AJAX session at CodeRage Virtual Conference
From March 12th until March 16th, 2007, CodeGear organised the first virtual conference.
I participated as a speaker as well as an exhibitor, and I listened to a lot of the other sessions as well.
- February 2007: Delphi "Spacely" Preview
This month, I've been enabled to give you a little preview - including a detailed screenshot - of Delphi "Spacely" (the codename of the upcoming version of CodeGear Delphi 2007 for Win32).
- January 2007: ClientDataSet and Aggregates
In this article, I demonstrate how to add aggregate fields to ClientDataSets, a technique which can be used in stand-alone TClientDataSets but also in combination with dbExpress or DataSnap.
- December 2006: Delphi on Windows Vista
In this article, I describe my first experiences with running Delphi on Windows Vista, including a helpful workaround for the compatibility issues which are reported.
- November 2006: Turbo C++(Builder) Database Development
In this article, I've collected my articles about Database Development with C++Builder (and Turbo C++), covering the Borland Database Engine (BDE), dbGo for ADO, dbExpress and the stand-alone TClientDataSet.
- October 2006: Delphi Highlander Preview
In this article, I've written down my personal interpretations of the news I heard at the Opening Keynote, Delphi Product Address and Technical "what's cooking" Keynote at the EKon 10 / Borland Developer Tools Group (DTG) Europe 2006 Conference in Frankfurt, Germany.
- September 2006: Turbo Delphi
In this article, I'll cover Turbo Delphi - the new, single-personality editions of Delphi for Win32, Delphi for .NET, C++Builder (for Win32) and C# (for .NET).
I'll especially focus on the free Turbo Delphi for Win32 Explorer edition, which might be interesting for Delphi developers for Win32 who are still using Delphi 7, 6 or even 5 and never upgraded to 2005 or 2006.
- August 2006: Apache Web Applications and Delphi 200X
In this article, I'll discuss the fact that Delphi 2005 and 2006 are no longer able to generate a new Apache 1.x or 2.x web application - or are they?
I'll show what's missing in the New Web Application wizard, and how to overcome this limitation by hand.
- July 2006: Analysing IIS Logfiles with Decision Cube
In this article, I'll use Delphi 2006 to build two applications: one to parse ISS logfiles and produce a small table with condensed "management" information, and another one using the good-old Decision Cube technology to allow one to analyse the logfiles and visitor statistics.
- June 2006: AJAX with ASP.NET and ECO
In this article, I'll describe how I've enhanced my ECO-driven ASP.NET weblog application with AJAX capabilities using Delphi 2006 and hand-written JavaScript code.
- May 2006: Introduction AJAX with Delphi 2006
In this slideshow, I'll explain what AJAX stands for (Asynchonous JavaScript and XML) and how we can write JavaScript code that connects to Delphi web applications written using WebBroker or ASP.NET.
- April 2006: XML Documents, Schemas and Validation
In this article, I'll show how to (re)generate an XML Schema that belongs to an XML Document, and how to perform XML Validation.
- March 2006: Sending Skype Chat Messages using Delphi
In this article, I'll explain how to use the Skype's API and Chat Command as Message Service (from Skype to Skype) - a service which I've been working on for a while.
- February 2006: Forcing Internet Explorer in a Fit
In this article, I'll demonstrate how to force Internet Explorer in a specific width (and height), specifically for testing the look of websites.
- Jannuary 2006: How to handle “dangerous” HTML input in ASP.NET web forms
In this article, I'll describe how to handle the HttpRequestValidationException when entering HTML tags in ASP.NET TextBox controls
- December 2005: Using Multi-Selected Rows in a VCL TDBGrid Control
In this article, I will demonstrate how to use Multi-Selected Rows in a VCL TDBGrid Control, and how to migrate that code to VCL for .NET.
- November 2005: Borland Developer Conference 2005
My annual Borland Developer Conference report (from the Hilton in San Francisco) will this year consist of separate blog posts, pictures and other bit of information I'll provide "live" from the scene.
- October 2005: Bending ASP.NET
In this article, I will demonstrate how to use Delphi 2005 to produce custom output with an ASP.NET Web Forms application (instead of using custom Http Handlers, which we discovered later).
- September 2005: Delphi for .NET Units and Namespaces
In this article, I will explain how Delphi 8 for .NET and Delphi 2005 treat units with respect to namespaces - which is quite different.
I will also cover a small but irritating unit/namespace importing issue, plus a workaround to stop it from nagging you (or at least me)...
- August 2005: Enterprise Core Objects (ECO) ASP.NET Weblog
In this article, I show a list of articles I wrote to demonstrate the power of Delphi 2005's Enterprise Core Objects with an example ASP.NET ECO Weblog application that went live halfway August 2005.
- July 2005: Refactoring with Borland Delphi 2005
In this article, I will demonstrate refactoring in the Delphi 2005 IDE, using an existing demo project as starting point, turning it into a more flexible and powerful application using different refactoring techniques.
- June 2005: Deployment of Borland Data Provider (BDP) Applications
In this article, I will explain and demonstrate the steps needed for the successful deployment of a Delphi 2005 application using the Borland Data Provider (BDP) to work with databases.
- May 2005: .NET Multitier Applications with ASP.NET Web Services
In this article, I will demonstrate a techniques to build multi-tier database applications with ASP.NET Web Services using Delphi for .NET as development environment.
- April 2005: Effective ClientDataSets and the BriefCase Model
In this article, I will cover the ClientDataSet component in three situations: using the stand-alone MyBase format; using dbExpress; and finally, using a client-side "briefcase" for DataSnap multi-tier applications.
- March 2005: C++Builder Data Access Technologies
In this article, which was published in the February issue of the C++Builder Developer's Journal, I introduce a new series covering database related technologies that are supported in C++Builder.
- February 2005: TADONETConnector: connect ADO.NET DataSets to VCL for .NET Clients
In this article, I will demonstrate how to use the hardly documented TADONETConnector component to feed (ADO).NET DataSets to VCL for .NET clients, where you can show and work with the contents in regular data-aware controls from the VCL (for .NET).
- January 2005: Set Focus to a Control in ASP.NET with Delphi 2005 (and Refactoring)
In this article, I will demonstrate how to generate and include the right JavaScript code in order to set the focus to a specific control in an ASP.NET web page built with Delphi 2005.
- December 2004: Delphi 2005 and Passing Parameters through .NET Remoting
In this article, I will demonstrate Delphi 2005's DataSync and DataHub in a Remote Setting (with RemoteServer and RemoteConnection), and mainly focus on how to pass SQL query parameters from the thin client to the .NET Remoting server.
- November 2004: What's New in Delphi 2005
In this article, I will cover some of the features in Delphi 2005.
The article also includes a link to another white paper I wrote for Borland about What's New in Delphi 2005, and information about my Delphi 2005 training and courseware material.
- October 2004: Delphi Database Development
In this article, I will use Diamondback (aka Borland Delphi 2005) and explain what techniques are available to connect to and work with databases.
For each of the techniques, I will briefly show how it works, and which databases can be accessed through it.
We'll also examine the data migration capabilities of the Data Explorer and the BdpCopyTable component.
- September 2004: Using Janeva to Connect CORBA and .NET
In this article, I will demonstrate how Microsoft .NET Framework developers can use Borland Janeva to connect to CORBA servers that run on different platforms (like Win32, Linux and others).
- August 2004: Enterprise Core Objects
In this article, I will explore the Enterprise Core Objects (ECO) of the Architect edition of Delphi 8 for .NET, covering the EcoSpace Object Model, UML (Unified Modeling Language), Classes, Attributes, Operations, Associations, Generalizations and Implementations, the PersistenceMapperXML, PersistenceMapperBdp, and Database Scripts.
- July 2004: Delphi 8 for .NET Assemblies; Packages and Libraries
In this article, I will explain what .NET Assemblies are, how we can use them in Delphi for .NET applications, and especially how we can make them ourselves.
It actually turns out that there is more than one way (and even some special way to use some of them in Win32 applications).
- June 2004: .NET Remoting and DataSets
In this article, we will continue our coverage of .NET Remoting techniques, using it to build a simple multi-tier application passing a DataSet from the Server to Clients, and updates back to the Server.
- May 2004: .NET Remoting with Delphi 8 for .NET
In this article, I'll cover an introduction to distributed applications and Delphi 8 for .NET, using the remoting techniques of the .NET Framework, also known as .NET Remoting.
- April 2004: Delphi 8 for .NET and ASP.NET Web Forms
In this article, I will use Borland Delphi 8 for .NET to build and deploy ASP.NET Web Form applications.
We'll be using the Borland Data Providers to connect to an InterBase database, and then use the special Borland DB Web controls to work with the data in the web form.
- March 2004: Delphi 8 for .NET and ASP.NET Web Services
In this article, I will show in detail how we can build ASP.NET web services using Borland's Delphi 8 for .NET, as well as how we can import web services (in this case the same one) and use them in WinForms applications - also using Delphi 8 for .NET.
- February 2004: Introduction to XSLT with Delphi
In this article, I will introduce XSLT, and cover XSLT support in Delphi in the form of the TXSLPageProducer component (and also see how to do it using plain MSXML).
Finally, we also see that XSLT on the .NET Framework can be done using the XSL classes from the System.Xml.Xsl namespace, which contains XslTransform for this purpose.
- January 2004: Delphi 8 for the Microsoft .NET Framework
In this article, I'll give you an overview of Delphi 8 for the Microsoft .NET Framework (or just Delphi 8 for .NET as I will personally call it).
I'll tell you how to "tweak" the Welcome Page, where to find more information (like some articles I wrote earlier), and refer you to helpful resources like websites, papers, training, and more.
- December 2003: IntraWeb 5.1 in Page Mode or Application Mode?
In these two articles (an extra bonus this month), I'll first cover IntraWeb 5.1 in Page Mode and then IntraWeb 5.1 in Application Mode, showing what kind of web server applications (or weblications) you can build with them.
Especially people who think Page Mode has little use should see how this can actually produce easy to deploy CGI executables, while retaining the ability to use databases by maintaining your own state.
- November 2003: ASP.NET Web Services and Sessions
In this article, I show how to add state management and session support to ASP.NET web services (using C# and notepad), explaining what to do and what not to do, so you can decide for yourself if, where and when you want to use this ability.
- October 2003: Consuming Delphi Web Services with C#
In this article, I'll show how web services written in Delphi can be consumed and used by C# on the .NET Framework.
Extending the simple echo web service, I'll demonstrate how the C# client can connect to and interact with the Delphi web service.
- September 2003: Consuming C# Web Services with Delphi 7 Professional
In this article, I'll show how web services written in C# can be consumed and used by Borland's Delphi (on Windows) or even Kylix (on Linux).
Using a simple echo web service, I'll demonstrate how the Delphi and Kylix clients can connect to and interact with the C# web service.
- August 2003: C++Builder 6 meets C# ASP.NET Web Services
In this article, I'll use the .NET Framework SDK and C# together with C++Builder and examine how C# and C++Builder can be "connected" to each other using ASP.NET web services.
- July 2003: Borland C#Builder
In this article, I'll cover Borland C#Builder, the C# development environment from Borland to build native .NET Framework 1.1 applications.
I'll tell you where to find more information (like some articles I wrote earlier), and refer you to helpful resources like user groups, websites, training, and more.
- June 2003: Memory: from VCL via VCL for .NET to (Delphi for) .NET
In this article, I'll show how to migrate a VCL application (the game of Memory) to VCL for .NET, and finally to WinForms on .NET, all using the Delphi for .NET Preview command-line compiler (including a special section on the Dfm2Pas migration utility).
- May 2003: C# Web Services
In this article, I'll show how web services can be written and consumed in C# and using nothing but the .NET Framework SDK (i.e. without the need for Visual Studio .NET or any other commercial development environment) to demonstrate the syntax and techniques using the C# language.
- April 2003: Delphi for .NET and ASP.NET Web Services
This is another article about the Delphi for .NET preview command-line compiler and ASP.NET, where I'll demonstrate how to use Delphi as the language for your ASP.NET Web Services.
- March 2003: .NET Assemblies and DLLs
In this article, I'll examine Delphi for .NET and .NET assemblies - the next generation DLLs - showing how we can take existing DLL code with us to the .NET world.
- February 2003: Delphi for .NET and ASP.NET Web Forms
I've written a number of articles about the Delphi for .NET Preview command-line compiler.
While it's currently still a preview version, you'll be surprised at how functional it is already!
In this article, I'll show you how to use Delphi as the language for your ASP.NET Web Forms.
- January 2003: Delphi, COM & .NET (2) - COM in .NET
In this last article about Delphi and COM, I show you how to make the final move to .NET and see if - and if so how - you can take your COM knowledge (and, more important, objects) with you to the .NET world.
- December 2002: Delphi, COM & .NET (1) - .NET as COM
This is the first of a number of articles about Delphi and .NET, starting off with a demonstration of how to use .NET assemblies in "old" Win32 applications by importing them as COM Objects using Delphi 7 Studio.
- November 2002: IBM's DB2 & Borland RAD Tools
This month, we'll take a closer look at the new IBM DB2/Borland RAD web portal for which I've already written numerous articles (published and available on-line), using Delphi (for .NET), Kylix, C++Builder, C#Builder, and IBM's DB2.
- October 2002: Delphi & COM (3) - MTS and COM+
In this third article about Delphi and COM, we'll move from building and using "regular" COM and Automation objects and cover MTS (Microsoft Transaction Server) and COM+ Objects.
- September 2002: GoogleSearch API and Delphi
In this article I'll use the official Google Web Service Search API with Delphi.
The implementation using C++Builder 6 is part of my SOAP and Web Services chapter in the C++Builder Developer's Guide.
- August 2002: Search Google with C++Builder
In this article I'll use the unofficial Google Web Service Search API with C++Builder 6 (note: unfortunately, this Web Service has been taken down since I wrote this article and the client application).
- July 2002: Delphi & COM (2) - Automation
In this second article about Delphi and COM, we'll cover OLE Automation.
This time, I want to move from using "plain" COM Objects to OLE Automation.
- June 2002: Delphi & COM (1) - COM Objects
I've begun a new series on Delphi development and COM.
This first time, I start with regular COM objects, and then move on via OLE Automation to COM+ and MTS.
We'll end this series by showing how to reuse Delphi COM stuff in the .NET Framework environment.
- May 2002: WebSnap XSLPageProducer
Ever wondered how you can convert one XML format to another format using XSL?
And how to write XSL in the first place?
In this article I will show how we can use a new component in Delphi 6 (and Kylix 2 or C++Builder 6), called the TXSLPageProducer, to convert any XML data packet or document (using XSL Transformation rules).
I will also show where to get a few XSLT examples that are a bit "hidden" in Delphi 6.
- April 2002: Using Kylix 2 Web Services in Delphi 6
Two months ago, we used Kylix 2 Enterprise to build a special Euro-conversion Web Service with two methods: FromEuro and ToEuro.
This time, we'll "consume" this web service by writing a client in Delphi 6 Enterprise as well as Kylix 2 Enterprise (with little changes).
- March 2002: Consuming Web Services using JBuilder 6 Enterprise and the Web Services Kit for Java 1
In this article I'll investigate the tools and techniques to use (consume) Web Services with JBuilder 6 Enterprise and the Borland Web Services Kit for Java.
In this article, we'll consume a Web Service previously written in Delphi 6 (and also available in Kylix 2) to demonstrate the interoperability between JBuilder 6 and Delphi/Kylix (using SOAP).
- February 2002: Kylix 2 Enterprise Web Services
With Delphi 6 and Kylix 2, new BizSnap (XML and SOAP) features have been added in the form of Web Services (among others).
This is the first part of a 2-part article on building, deploying and using (consuming) Web Services in Kylix 2 and Delphi 6, starting with an IEuro Web Service written in Kylix 2 Enterprise.
- January 2002: Delphi 6 XML Mapping Tool (XML Mapper)
With Delphi 6 (and also Kylix 2), new XML features have been added in the form of XML document programming, XML Data Binding Wizard, XML Mapper and BizSnap (SOAP/XML Web Services).
This is the third in my series of articles about XML support, this time about the XML Mapping Tool (also known as XML Mapper).
- December 2001: C++Builder Template Generator
In this article I'll explain the usage of HeadGen, my free C++Builder template header/source generator, first introduced in my article in the C++ Zone on DevX.
- November 2001: Delphi 6 XML Data Binding
With Delphi 6 (and now also Kylix 2), new XML features have been added in the form of XML document programming, XML Data Binding Wizard, XML Mapper and BizSnap (SOAP/XML Web Services).
This is the second in a series of articles about XML support, this time about XML Data Binding.
- October 2001: Delphi 6 XML Document Programming
With Delphi 6, new XML features have been added in the form of XML document programming, XML Data Binding Wizard, XML Mapper and BizSnap (SOAP/XML Web Services).
This is the first in a series of articles about Delphi 6 XML support, starting off with XML Document Programming in Delphi 6.
- September 2001: VisiBroker 4 for Delphi 6
In this article I'll show how to create a CORBA Server and CORBA Client (implementing a tic-tac-toe example) using VisiBroker 4 for Delphi 6 Enterprise, including the IDL2Pas Wizard.
- August 2001: Kylix & Delphi WebBroker Multi-Valued Input Fields
In this article I'll demonstrate how to obtain field values for HTML input forms in general. And more specifically, I will show you how to write a small routine that extracts all values from a multivalue input field in WebBroker applications.
- July 2001: Kylix & Delphi 6 Language Enhancements
In this article I'll examine some of the new compiler (and ObjectPascal) features in Kylix and Delphi 6, such as constant typed constants, enumerated enumerations, and more.
- June 2001: Cross-platform DrBobCGI (and Cookies)
In this article I'll present the cross-platform edition of DrBobCGI (to produce web server applications with Delphi and Kylix without the need for the WebBroker Technology).
As one of the examples, I'll show how to (set and) get cookie values using DrBobCGI.
- May 2001: Analysing DataSets
In this article, I'll show how to analyse datasets and produce HTML-based documentation reproducing tables, fields, types and indices.
Quite handy when reverse engineering legacy code (or just when you want to create some documentation for existing systems).
- April 2001: ADO and ClientDataSet
In this article, I'll show how to convert ADO XML or ADTG (Advanced Data TableGram) file formats to the ClientDataSet binary or XML formats.
- March 2001: Microsoft .NET and C#
In this article I'll share my feelings about Microsoft .NET and C# - you just cannot ignore them any longer!
- February 2001: Moving BDE Data to Linux
In this article I'll show you how you can move your BDE data (like dBASE and Paradox tables) from Windows to Linux (i.e. from Delphi to Kylix) by transforming them into XML.
- January 2001: Talking to ActiveForms
In this first article of the new year, I'll show you how we can communicate with ActiveForm from "hosting" environments such as Delphi, C++Builder or even Internet Explorer.
- December 2000: The Best of Y2K
In this last article (of this year, that is) I'll look back at Y2K and list my favorite hardware, software, book, magazine, event, user group, website, movie/DVD as well as a few personal predictions and wishes for the next year(s) to come.
- November 2000: Dynamic WebBroker Images
In this article I'll show you how to produce dynamic images using Delphi WebBroker components (also applicable to C++Builder).
- October 2000: VisiBroker for Delphi
In this article I'll show how to create CORBA Servers and Clients using Delphi 5 Enterprise, both with and without the VisiBroker for Delphi plug-in.
- September 2000: Project Kylix
This article is a transcript of the Kylix presentation at the Linux Development Seminar in Brussels and The Hague.
- August 2000: ActiveForm Updates
In this article, I'll share a technique to ensure that your ActiveForm Updates will be deployed correctly (by enforcing the use of version information).
- July 2000: JBuilder CORBA Client
Mr.Haki has written a follow-up article in which he writes a JBuilder 3.5 CORBA Client (on Linux) that talks to this CodeSite CORBA Server.
- June 2000: Delphi 5 CORBA Servers
In this article I'll write a wrapper around the CodeSite Debugging Object from Raize Software, in order to turn it into a Delphi 5 CORBA Server.
- May 2000: Custom InternetExpress Components
In this article I'll show how to create your own Custom InternetExpress Components.
- April 2000: Control Panel Applets
In this article I'll build a Control Panel Applet for the Options Dialog of DIL - Developer Information Library.
- March 2000: InternetExpress (with XML)
InternetExpress is the marriage of MIDAS with WebBroker (and XML).
In this article I'll show you how to make use of InternetExpress and where XML is used at its best - as inter-application communication language.
- February 2000: Delphi Class Methods
In this article I'll explain what class methods are and how they work, including a small reference counting example.
- January 2000: XML - Hit or Hype?
This first article isn't too technical, but poses some interesting questions nevertheless...