Delphi Clinic C++Builder Gate Training & Consultancy Delphi Notes Weblog Dr.Bob's Webshop
Bob Swart (aka Dr.Bob) - Medical Officer TDMWeb
 Dr.Bob's Under Construction in The Delphi Magazine
See Also: Delphi Papers and Columns

TDMAid 2.0 gave an on-line and complete overview of all 220 articles/reviews I've written for The Delphi Magazine between 1995 and 2007. This page only lists the Under Construction articles, which will be republished here in 2008.
The complete source files from my columns are now also available from my new UCCode Web Service, complete with client source code for Delphi 7:

The complete list of Under Construction columns is as follows:

Nr. TopicSource Code
139 Broken Link Detection And Web Spidering
Bob Swart builds classes for both Win32 and .NET to check for broken links in your websites, as well as showing how the principles can be expanded for web spidering.
constr139.zip
22.332 bytes
138 ASP.NET Web Services And Attachments
Bob Swart shows how to use the new support Microsoft has added for DIME attachments to ASP.NET web services with WS-Attachments: adding attachments to SOAP responses and also retrieving them.
constr138.zip
39.513 bytes
137 Win32/.NET Operator Overloading
Bob Swart discusses vector and matrix manipulations using operator overloading, using both Win32 and .NET.
constr137.zip
16.570 bytes
136 Data Entry Validation With AJAX
Bob Swart discusses how to use AJAX in combination with Delphi web applications for data entry input validation using XML.
constr136.zip
14.485 bytes
135 Debugging Win32 Web Services
Bob Swart examines Delphi’s Win32 SOAP and web services support, focusing on techniques to debug and trace Win32 web services using Delphi 2006. Apart from these debugging techniques, he also covers some interoperability issues and workarounds, especially when importing and consuming .NET web services.
constr135.zip
51.659 bytes
134 RemObjects SDK 4.0 And Distributed Webcam Viewers
Bob Swart turns his webcam viewer into a multi-tier application using RemObjects SDK 4.0.
constr134.zip
44.205 bytes
133 Implementing Automatic Updates
Bob Swart builds an internet update manager application in Win32, demonstrating and implementing techniques that you can use in VCL applications to allow automatic updates from the web. In the process we’ll use a new VCL component: the TTrayIcon.
constr133.zip
21.486 bytes
132 Deploying ASP.NET Applications
Bob Swart demonstrates how to deploy your ASP.NET applications and untangles the various gotchas you may encounter along the way.
n/a
131 ASP.NET Template Columns
Bob Swart discusses template extensions to the ASP.NET DataGrid control, with the focus mainly on the EditItem template examples that can enhance the way you edit data in the DataGrid.
constr131.zip
13.275 bytes
130 Custom DB Web Controls
Bob Swart shows us how to create our very own DB Web controls for ASP.NET web application development.
constr130.zip
24.416 bytes
129 Enterprise Core Objects III, part II
Bob Swart continues his explanation of the use of Enterprise Core Objects in Delphi 2006; this month he demonstrates how to create ASP.NET applications, using Bob’s Error Report Tool (BERT) as a worked example.
constr129.zip
141.178 bytes
128 Enterprise Core Objects III
Bob Swart demonstrates the ECO III features in Delphi 2006, which are now brought down into the Professional Edition. We'll design a model for Bob's Error Report Tool (BERT) in an ECO Package, make the model persistent, and create a simple WinForms GUI for it.
constr128.zip
105.930 bytes
127 All Together Now!
Bob Swart demonstrates how to use the Together modelling features (without using ECO) as well as design patterns, UML refactoring, code audits and code metrics with the Borland Developer Studio 2006 IDE.
constr127.zip
9.888 bytes
126 BDP Enhancements In Delphi 2006
Bob Swart examines three new features in the Borland Data Provider (BDP) for .NET: SQL tracing, connection pooling and the error reconciliation dialog.
constr126.zip
14.126 bytes
125 ASP.NET HTTP Handlers And Modules
Bob Swart explains the power and practicality of these often-ignored aspects of ASP.NET.
constr125.zip
8.219 bytes
124 Web Services And Security
Bob Swart demonstrates various techniques that can be used to secure SOAP messages: adding both authentication and encryption to your web services, for Win32 as well as .NET applications. We learn about encryption and decryption using symmetric and asymmetric algorithms, plus WS-Security and X509 too.
constr124.zip
7.513 bytes
123 .NET Compact Framework
Bob Swart gets to grips with the recently released Delphi 2005 for .NET Compact Framework Technology Preview: a command-line compiler and collection of libraries which allow you to create applications for the .NET Compact Framework using Delphi 2005. In other words: use Delphi to develop software for your Pocket PC or SmartPhone!
constr123.zip
30.041 bytes
122 Writing .NET Components
Bob Swart gives us a sound introduction to creating new components for the .NET framework. He covers both FCL and WinForms component building, presenting two example components: a non-visual temperature conversion component and a compound navigator user control. Bob also shows how to create custom properties and events, as well as how to install and use the components you create.
constr122.zip
26.677 bytes
121 Globalisation And Localisation
Bob Swart explains what globalisation and localisation are and provides an introduction to globalisation (the handling of international data using different character encodings plus date, time, number and currency formats). Bob's main focus is on localisation details: producing different language translations of your applications. He shows how to do this with a VCL for Win32 application as well as with a WinForms application for .NET, accomplished using quite different techniques.
constr121.zip
310.114 bytes
120 Using The Skype API With Delphi
Bob Swart examines how to make use of the API for the increasingly popular Skype internet telephony application in Delphi to create a range of useful utilities for Skype users, including a nifty software answering machine. He also shows us how to make Skype calls from inside our Delphi applications
constr120.zip
129.248 bytes
119 Consuming Win32 In .NET Using Virtual Library Interfaces
Bob Swart describes how to use this new Delphi feature for importing and using Win32 DLLs in your .NET projects, explaining the steps you need to take, the benefits and the drawbacks too.
constr119.zip
13.019 bytes
118 Delphi 2005 And Unit Testing
Bob Swart gives us a thorough run-down of Delphi 2005's unit testing capabilities, showing in detail how to use them for both .NET and Win32 projects. If you are new to the concept of unit testing this article is an excellent place to start getting to grips with what is fast becoming an essential part of any developer's toolkit!
constr118.zip
26.093 bytes
117 Building SharePoint 2003 Web Parts
Bob Swart explains what Windows SharePoint Services 2003 is all about and shows how Delphi 2005 can be used to implement Web Parts that can be added to SharePoint workspaces, allowing us to customise the SharePoint tools and technologies with Delphi code and components. He covers both simple and more complex Web Parts, using properties, events, child controls and even a provider-consumer model, as well as deployment and security details.
constr117.zip
29.851 bytes
116 ASP.NET Techniques
Bob Swart describes some real-world ASP.NET techniques with Delphi 2005: using DataSync and DataHub, some enhancements in the DB Web controls, how to use the deployment manager, and lessons from migrating an IntraWeb 5.x application to ASP.NET.
constr116.zip
20.705 bytes
115 Delphi 2005, Databases And .NET Remoting
Bob Swart describes one of the handy enhancements made in Delphi 2005's database functionality: the Borland Data Provider category on the Tool Palette. However, despite their categorisation, the new components that Bob discusses are actually not limited to the Borland Data Provider; they can be used by any ADO.NET- compliant provider, including third-party ADO.NET drivers. Read on to find out the full details.
constr115.zip
31.919 bytes
114 .NET Assemblies, Security And AppDomains
Bob Swart explains the problems caused by assemblies that include P/Invoke calls, and explains how to overcome them. He then moves on to demonstrate how to dynamically load assemblies and use Reflection to get class types, methods and fields from these assemblies, plus unloading assemblies using an AppDomain and a wrapper.
constr114.zip
46.644 bytes
113 .NET Command-Line Tools, Delphi 2005 IDE Support And Assembly Hell
Bob Swart describes the use of some .NET command-line tools that can be helpful when integrated into the Delphi 2005 IDE. He also discusses some of the less visible gotchas in Delphi 2005 and the problems you will encounter using assemblies developed in one version of Delphi with a different version.
constr113.zip
1.336 bytes
112 Delphi 2005
Bob Swart reviews the latest version of Delphi, with both Win32 and .NET support in one IDE, plus C# as well as Delphi language compilation! Could this be the best ever Delphi? Check out Bob's review and find out!
n/a
111 Big Brother Is Watching You
Bob Swart describes how to take control over the running of an application; specifically, to control how frequently MSN Messenger is used and for how many minutes in each day: very handy if like Bob you have kids who are addicted to MSN, or perhaps to their favourite game.
constr111.zip
6.708 bytes
110 DataSnap and .NET
Bob Swart shows how to use DataSnap with .NET: connecting to a DataSnap server for Win32, built using Delphi 7, from a .NET client in Delphi 8, and talking to Linux from .NET using a Win32 gateway DataSnap server to overcome the current lack of SOAP support on the .NET end!
constr110.zip
50.790 bytes
109 Webcam Publishing
Bob Swart wanted to find an easy way to keep in touch with the family while he's away, so he developed some nifty applications to make use of a few webcams: capturing, publishing and retrieving images, using a variety of Win32 and .NET technologies.
constr109.zip
19.633 bytes
108 Delphi Language Enhancements
Bob Swart outlines the additions to our beloved language that arrived with Delphi 8, and discusses which of these might make the transfer from .NET to Win32 in a future Delphi version.
constr108.zip
5.236 bytes
107 Delphi 7 Update 1
Bob Swart takes a good look at Update 1 for Delphi 7 to see what Borland has been doing to help the Win32 developers amongst us! Want to know if some annoying bug has been fixed – read this article!
n/a
106 Intraweb for .NET
Bob Swart examines IntraWeb for .NET, providing an overview and comparing it to ASP.NET (with Delphi 8 for .NET). He focuses on login and authorisation/authentication, database support, session and state management, navigation, deployment, and finally custom components (including third-party components).
n/a
105 ASP.NET User and Custom Components
Bob Swart explains the two ways to implement custom ASP.NET controls: adding them to an existing ASP.NET web forms application (in which case they are called ASP.NET user controls), or creating a complete new package for them (which is called a Web Control Library) and thereby ending up with an ASP.NET custom control. In this month's column Bob describes and demonstrates both techniques.

105 ASP.NET Security
Bob Swart shows how authorisation and authentication work in the .NET Framework, and puts the theory to good use to demonstrate how to limit access to areas of your website with some straightforward ASP.NET code, making use of ASP.NET forms authentication.

constr105.zip
29.550 bytes





secur105.zip
16.280 bytes
104 MDA And Enterprise Core Objects
Bob Swart explains MDA, which stands for Model Driven Applications, and how we can use the Architect edition of Delphi 8 for .NET to put MDA into action with Enterprise Core Objects (ECO).
constr104.zip
15.678 bytes
103 Delphi 8 For .NET And ASP.NET Web Services
Bob Swart discusses ASP.NET web services, considered by many to be the best part of the .NET framework. He also explains how to migrate your existing Delphi web service engines to ASP.NET in such a way that the resulting project can be compiled with both Delphi 7 and Delphi 8 for .NET.
constr103.zip
64.266 bytes
102 Delphi 8 For .NET And Data Access Technologies
Bob Swart discusses several solutions for data access on .NET, both for VCL applications and those which do not use VCL for .NET, and explains when to use what, including an introduction to ADO.NET.
constr102.zip
9.292 bytes
101 Delphi For .NET, ASP.NET And DB Web Controls
Bob Swart starts with the Borland Data Providers for .NET, an open layer on top of ADO.NET providing support for multiple databases, and then uses them in an ASP.NET web forms application, using the new DB Web controls.
constr101.zip
12,913 bytes
100 RSS With Delphi For .NET
Bob Swart continue his coverage of RSS channels and feeds, but this time using Delphi 8 for .NET. He focuses on Delphi 8's XML and database support as it relates to this project, as well as the migration path for existing VCL applications.
constr100.zip
20,809 bytes
99 RSS Channels and Automatic Feeds
Bob Swart focuses on RSS channels and automatic feeds. He explains what RSS is, how it can be of benefit to RSS readers as well as the publishers, and (specifically in this issue) how to automatically produce RSS XML documents from a database, resulting in a database-driven content generator with an RSS channel to publish a table of contents.
constr99.zip
8,633 bytes
98 dbExpress And QualityCentral
Bob Swart uses the normalised data model developed over the last few issues and implements it using dbExpress to talk o InterBase. Along the way a number of problems arise and Borland's QualityCentral resource proves useful in solving these to get a working end result.

98 Moving To Delphi For .NET Today!
Bob Swart shows how to modify your Delphi projects to get them working with the Delphi for .NET preview compiler and so be ready for the full-blown Delphi for .NET when it arrives.

constr98.zip
20,720 bytes
97 InterBase 7.1 and the Borland Data Providers for ADO.NET
Bob Swart describes how to use the recently introduced Borland Data Providers For ADO.NET in the Delphi for .NET command-line preview compiler to access InterBase databases.

97 Effective ClientDataSets
Bob Swart uses the ClientDataSet to implement the database design discussed last month, revealing some useful tips and showing how theoretical design sometimes needs to be tweaked to arrive at a practical solution.

BDP97.zip
2,374 bytes


constr97.zip
15,106 bytes
96 Database Normalisation
Bob Swart provides some helpful database design rules, formally called database normalisation, but you can also call it common sense! Most developers have worked with databases in one way or another, maybe also designing databases and creating tables, but how many of us have taken the trouble to ensure our designs are efficient and effective?
n/a
95 ASP.NET Web Services
Bob Swart shows how to build, test and deploy a Delphi for .NET web service on the .NET framework, as well as how to import such web services with Delphi 7 in order to illustrate some potential compatibility issues between Delphi 7 (Win32) and Delphi for .NET.
constr95.zip
9,766 bytes
94 Delphi For .NET, ODBC.NET, ADO.NET And MySQL
Bob Swart shows how to use MySQL with the Delphi for .NET preview compiler, through both ODBC.NET and (for greater performance, but at a cost of some cash!) ADO.NET.
constr94.zip
4,803 bytes
93 DCon Planning With Delphi (for .NET) And ASP.NET
Bob Swart continues to work on his schedule-choosing web application for DCon 2003, but this time he's using Delphi as an ASP.NET scripting language, courtesy of the Delphi for .NET preview compiler (and a lot of head scratching to work round the problems which came to light...).
constr93.zip
14,794 bytes
92 DCon Planning With IntraWeb 5.1
Bob Swart calculates that with over 40 technical sessions in two days, there are over 100,000 possible ways you can pick and follow the DCon 2003 sessions. Making sure you don't miss that crucial session may not be easy, so in this column he builds a semi-intelligent planning application with IntraWeb 5.1.
constr92.zip
19,161 bytes
91 Distributed Apps On The Cheap
Bob Swart thinks it's unfair that developers should have to use the expensive Enterprise editions of Delphi to build distributed applications, so in this article he examines how to use the RemObjects SDK to build multi-tier applications in Delphi 7 Professional.

Important Note: In this article, I suggested that Delphi 7 Professional developers could purchase a DataSnap licence to be able to deploy the applications that make use of the ClientDataSet and DataSetProvider. Unfortunately, it turns out that it is not possible to purchase a DataSnap licence for Delphi 7 Professional. Technically, the presence of ClientDataSet and DataSetProvider in the product makes it possible to create a multi-tier application with Delphi 7 Professional (plus a third-party tool like RemObjects SDK) using these components, but it would not be legal to deploy such an application because the required runtime licence for DataSnap cannot be obtained without purchasing Delphi 7 Enterprise or Architect. I apologise for any confusion caused.

constr91.zip
22,848 bytes
90 MySQL Data Access Libraries
Bob Swart evaluates various third-party libraries you can use to get at your MySQL databases from Delphi apps: ZEOS Library, DirectMySQL and TmySQL (all are freeware or GPL), plus Core Lab MyDAC for Windows and finally the microOLAP MySQLDAC components (commercial products).
n/a
89 Delphi, dbExpress And MySQL, On The Web
Bob Swart takes the MySQL knowledge gained in last month's column and applies it to web app development.
constr89.zip
15,200 bytes
88 Delphi, dbExpress And MySQL
The BDE has had its day, but some of the alternatives seem very costly (SQL Server at £1,612 for a 10-client version of the tandard product, anyone?). So Bob Swart has been checking out MySQL to see how easy it is to use with Delphi. Oh, and it's either free or very cheap, depending on the licence you choose!
constr88.zip
3,219 bytes
87 Delphi 7 SOAP And UDDI
Bob Swart describes the changes and enhancements to SOAP in Delphi 7, most notably the UDDI browser, as well as a workaround for an ISAPI SOAP problem.
constr87.zip
17,727 bytes
86 Encrypted ClientDataSets
Bob Swart shows how to encrypt ClientDataSet files for greater security and also how to use on-the-fly compression and decompression to speed them up as well.
constr86.zip
5,056 bytes
85 Transactional Data Modules (2)
Bob Swart continues his coverage of MTS/COM+, discussing various security issues, as well as debugging techniques and deployment features.
constr85.zip
10,900 bytes
84 Transactional Data Modules
Bob Swart describes the transactional data module: how to use it to create DataSnap servers, how to connect to it from DataSnap clients, and some of the differences (and benefits) it has compared to using a normal remote data module.
constr84.zip
10,364 bytes
83 Real-World WebSnap Techniques
Bob Swart continues examining some real-world WebSnap techniques, this month creating localisation options: the ability to dynamically switch display languages within your WebSnap applications.
constr83.zip
16,408 bytes
82 Real-World WebSnap Techniques
Bob Swart discusses some real-world WebSnap techniques he has discovered in his web application development, including user logins, DataSetAdapter naming conventions, BDE hints and using Amazon's XML support.
constr82.zip
24,960 bytes
81 Delphi 6.02 Web Services
Bob Swart tells us what's new with SOAP and Web Services in the recent Delphi 6 Update 2 (which is quite a lot, as it turns out!).
constr81.zip
15,944 bytes
80 ISAPI Filters, Part 2
Bob Swart continues his 2-part article on writing ISAPI filter DLLs: a really powerful way to do lots of clever stuff on your website. This month, he goes into more details on authentication (password-protected directories to you and me!) and also implements a little page-changing script framework.
constr80.zip
10,436 bytes
79 WebSnap Session Management For CGI
WebSnap session management using TSessionsService is not available for CGI applications or Kylix web apps, but Bob Swart explains what the problem is, what to do about it, and how he solved it to provide full session management for all web app targets.

79 ISAPI Filters, Part 1
Bob Swart starts a two-parter on writing ISAPI filter DLLs: a really powerful way to do lots of clever stuff on your website, that takes us down to the metal, doing things the (actually not so) hard way without any Snap, Broker or Express tools to help!

cgisnap.zip
8,633 bytes


constr79.zip
5,914 bytes
78 DataSnap Sockets And Interceptions
Bob Swart checks out socket interceptions: peeking into what's happening between the client and the server when you use the SocketConnection component. Bob makes use of the IDataIntercept interface and the TPacketIntercept class.
constr78.zip
14,466 bytes
77 Delphi 6 DataSnap and SOAP
Bob Swart explains how to build cross-platform (Windows and Linux) and cross-language (Delphi and Kylix) multi-tier applications using DataSnap and SOAP.
constr77.zip
14,308 bytes
76 Delphi 6 DataSnap Connections
Bob Swart checks out DataSnap connections. There are three new components in Delphi 6 especially written for DataSnap connections (or providers of data), namely the ConnectionBroker, SharedConnection and LocalConnection. Bob explains what they are, plus when and how to use them.
constr76.zip
14,308 bytes
75 Delphi 6 WebSnap (3)
Bob Swart concludes his discussion of Delphi 6's WebSnap technology (well, for now at least) with various helpful techniques, including details of how persistent sessions work and guidelines for putting them to use in your web applications.
constr75.zip
8,704 bytes
74 Delphi 6 WebSnap (2)
Bob Swart continues his discussion of Delphi 6's WebSnap technology, covering master-detail relationships and creating user login functionality.
constr74.zip
23,529 bytes
73 Delphi 6 WebSnap (1)
Bob Swart begins an overview of this new web application development framework introduced in Delphi 6: what it's all about and how to use it. This month Bob shows how to get started and how to use the Web App Debugger application type for debugging.
cdebug73.zip
8,692 bytes
constr73.zip
180,934 bytes
72 Delphi 6 Web Services
Bob Swart checks out Delphi 6's WebSnap, covering WebBroker and InternetExpress, with lots of new features, such as Web Services.
constr72.zip
8,097 bytes
71 Kylix Desktop Does CGI Too
Bob Swart shows how to create web server applications using just the Desktop version of Kylix (which has just been dramatically reduced in price!), including using dbExpress to develop database web applications.
constr71.zip
3,510 bytes
70 WebBroker for Linux
Bob Swart shows how we can use Kylix to create web server applications for the Apache web server running on Linux, with the built-in Web Broker technology found in the Kylix Server Developer Edition.
constr70.zip
3,072 bytes
69 DataCLX and dbExpress
Bob Swart introduces DataCLX and dbExpress: the cornerstone of database access in Kylix and Delphi 6.
constr69.zip
545 bytes
68 Data-Awareness and Interfaces
Bob Swart discusses data-aware components, using an IDataAware interface to conveniently and easily manage data-aware components.
constr68.zip
4,664 bytes
67 VisiBroker 3.3 for Delphi 5
Bob Swart continues his discussion of the new version of VisiBroker for Delphi, this month covering support for special type constructs and CORBA callbacks.
constr67.zip
12,061 bytes
66 VisiBroker 3.3 for Delphi 5
Bob Swart explains the goodies available in the latest version of Borland's tool for making CORBA applications easier for Delphi developers, including a new and much improved IDL2Pas.
constr66.zip
13,531 bytes
65 Wireless Application Protocol (2)
Bob Swart continues his explanation of writing applications that your WAP phone can access, covering the use of WAP images in the WBMP format.
constr65.zip
8,723 bytes
64 Wireless Application Protocol (1)
Bob Swart has been pushing the envelope of new technology: he explains what WAP is all about and how to create applications for generating the WML XML-like code that WAP phones use.
constr64.zip
3,775 bytes
63 Local ClientDataSets (2)
Bob Swart continues his examination of TClientDataSet as a small, fast local DBMS, showing how to use XML files as input for ClientDataSets, creating true thin-client applications which can communicate with a server using sockets.
constr63.zip
16,354 bytes
62 Local ClientDataSets (1)
MIDAS isn't just for multi-tier apps, says Bob Swart, but we can use it as a handy, compact and very fast local database engine, with just one DLL to ship (and no licence fees either!). Bob goes on to show how to use XML to get data into and out of a local ClientDataSet.
constr62.zip
7,844 bytes
61 Strings
Strings: we use them all the time and know everything there is to know about them, right? Wrong! Bob Swart delves under the hood to explain the various character and string types available in Delphi, how they work and which ones are appropriate to which use.
n/a
60 Pooling And Brokering
Bob Swart returns to MIDAS 3 to explain Object Pooling and Object Brokering. If your web applications are feeling the strain and you need to share the software load over multiple servers, these technologies could provide just what you need.
n/a
59 Delphi 5 Active Server Objects (2)
Bob Swart completes his coverage of developing Active Server Objects by looking at the way in which WebBroker and InternetExpress can be used by an Active Server Object.
constr59.zip
9,542 bytes
58 Delphi 5 Active Server Objects
Bob Swart describes how easy it is to create and use Active Server Objects in Delphi 5 that can be used in web (or intranet) pages created using Microsoft's Active Server Pages scripting language.
constr58.zip
5,081 bytes
57 Delphi 5 And MIDAS 3
Bob Swart discusses the new things to be found in MIDAS 3, including stateless remote data modules. He covers deployment issues and describes the best way to migrate your MIDAS 2 applications over to MIDAS 3. With the new (much) lower licence cost, MIDAS could now see far wider use by Delphi developers.
n/a
56 CORBA Exceptions In Delphi
Bob Swart explains how to handle CORBA-specific exceptions in Delphi using VisiBroker.
constr56.zip
6,941 bytes
55 Internet Security
Bob Swart has some important advice to help secure your data and your customers' data, covering security layers, firewalls, proxies and SSL. Plus, he has some useful code which allows you to create password-protected areas on websites.
constr55.zip
6,527 bytes
54 VisiBroker for Delphi 5
Bob Swart shows three ways to create a Delphi CORBA client: using Type Library import units, using Dynamic Interface Invocation (DII) and finally using a true IDL-2-PAS solution as found in VisiBroker for Delphi 5.
constr54.zip
6,457 bytes
53 Delphi 5 WebBroker Stuff
Bob Swart discusses the enhancements made to the WebBroker framework in Delphi 5, with a very handy utility to implement and log rotating advertising banners on your website.
constr53.zip
7,821 bytes
52 Delphi 5 InternetExpress (3)
Bob Swart continues his coverage of Delphi 5's InternetExpress, which combines WebBroker and MIDAS technologies, producing HTML and XML for ultra-thin clients.
n/a
51 Delphi 5 InternetExpress (2)
Bob Swart continues his exploration of Delphi 5's InternetExpress technology. This month, Bob discusses how to limit the amount of data being sent from the server to the browser, how to handle reconcile errors, and even how to use the technology in a single-tier web server app.
constr51.zip
21,970 bytes
50 Delphi 5 InternetExpress (1)
Bob Swart describes Delphi 5's InternetExpress, which combines WebBroker and MIDAS technologies, producing HTML and XML for ultra-thin clients. And as it's Dr.Bob, you can be sure he explains it step by step.
n/a
49 Distributed Efficiency
Bob Swart finds that for today's distributed applications optimisation means much more than speeding up a slow but frequently used routine. This month he shows how we can measure the amount of data transfer going on and then minimise it to improve response.
constr49.zip
508 bytes
48 Delphi Goes Dynamic
Bob Swart discusses the dynamic creation of components and event handlers, with a fun little application to test out the techniques and keep your children amused too!
constr48.zip
3,322 bytes
47 Creative Debugging Techniques
Bob Swart explains the various debugging techniques available in Delphi, including remote debugging.
constr47.zip
15,631 bytes
46 Delphi 4 Nested Tables
Bob Swart explains what TNestedTable is all about and how we can make use of it in multi-tier application development.
constr46.zip
13,658 bytes
45 Delphi 4 And Java, Part 2
Bob Swart is joined by Java expert Hubert Klein Ikkink again this month, together they connect a Java applet to a Delphi web server application using CORBA.
constr45.zip
5,232 bytes
dm45java.zip
13,829 bytes
44 Delphi 4 And Java
Bob Swart is joined by Java expert Hubert Klein Ikkink this month, together they connect a Java applet to a Delphi web server application.
constr44.zip
7,473 bytes
dm44java.zip
12,746 bytes
43 Delphi 4 and CORBA
Bob Swart introduces CORBA Server and Client development for Delphi programmers, with a handy application to retrieve newsgroup messages from behind your company's firewall!
n/a
42 Usenet News Reading, Part 2
Bob Swart continues his work with the Network News Transfer Protocol (NNTP), showing how to write code that posts messages to Usenet newsgroups.
constr42.zip
10,063 bytes
41 Usenet News Reading
Bob Swart investigates how to write your very own Usenet Newsgroup reader in Delphi, from the ground up, covering the murky world of the NNTP protocol, sockets and more.
constr41.zip
7,551 bytes
40 Surfin' Your Surfers With TDecisionCube
Bob Swart uses the decision cube technology included in Delphi Client/Server Suite to explore his website visitor data, gathered with last month's multi-tier website visitor tracking system.
constr40.zip
6,880 bytes
39 Website Visitor Tracking
Bob Swart builds on his introduction to distributed computing by creating a distributed application to monitor and track website visitors in full detail and glorious technicolor.
constr39.zip
27,391 bytes
38 MIDAS, CORBA And TClientDataSet
Multi-tier architecture is all the rage and Bob Swart provides a timely and practical introduction to Delphi 4's support to help you get started.
n/a
37 Delphi 4 Web Broker Technology
Bob Swart has been checking out what's new in the Web Modules internet application support in Delphi 4, now available as a Web Broker add-on for Delphi 4 Professional Edition users too.
constr37.zip
1,725 bytes
36 Intelligent Agents: RobotBob
Bob Swart builds on his automatic email project from last month to show how to create internet agents and robots to automate tedious tasks like checking websites for new material and fetching files via FTP.
constr36.zip
11,562 bytes
35 Automated Email
Bob Swart shows how to automatically send email from your webserver using the SMTP protocol (but not for Spam of course, ok everyone?!).
constr35.zip
26,743 bytes
34 Database Web Server Extensions
Following on from last month's instalment, Bob Swart shows how to convert a CGI database application into an ISAPI DLL, for dramatically improved performance, all without Web Modules (so Delphi 3 Client/Server is not a requirement!).
constr34.zip
39,447 bytes
33 Internet Database Applications
In response to reader feedback, Bob Swart discusses how to create real-world CGI applications for the web without using Delphi 3's WebModules: this means you don't need the Client/Server Edition of Delphi 3 to create web apps!
constr33.zip
4,490 bytes
32 A Query HTML CGI-Form Wizard
Tired of hand-coding all your CGI forms in HTML? No problem, `Dr.Bob' Swart has a wizard to do the job for you, enhancing Delphi 3's Web Modules. Along the way he visits property and components editors too.
constr32.zip
57,748 bytes
31 A Simple Spelling Checker
Bob Swart describes the implementation of a spelling checker using minimal resources: ideal for when the Full Monty would be over the top!
constr31.zip
18,319 bytes
30 Website Indexing, Part 2
Want to add a search engine to your website? Bob Swart has all the code you need: building on last month's instalment, he adds support for AND, NOT and OR keywords in queries and plugs in some performance boosts too!
constr30.zip
8,844 bytes
29 Website Indexing, Part 1
Would you like to include a search facility on your website? Bob Swart begins a 2-part series describing how to do exactly that in Delphi. Even if you aren't into website building, the techniques are really useful for non-web applications too!
constr29.zip
7,244 bytes
28 Assertions
Delphi 3 introduced assertions and Bob Swart explains how to use them to best effect in error handling, along with implementations for earlier Delphi versions too!
constr28.zip
1,198 bytes
27 TBrokenLink Component
Now you know who's visiting your website (see last month's column), it's time to find and fix up all those broken links! Bob Swart creates a component to find both local and internet-wide broken links, plus there's a copy of his InterBob link checker on the disk too!
constr27.zip
339,230 bytes
26 Homepage Hit Counter
Who's been coming to call? Bob Swart shows how to construct various types of hit counter for your website so you can discover exactly how popular you are!
constr26.zip
7,918 bytes
25 Delphi 3 Web Modules, Part 2
Continuing on from last month, Bob Swart shows how to write dynamic queries, save state information and even eat some cookies along the way...
constr25.zip
159,371 bytes
24 Delphi 3 Web Modules, Part 1
Bob Swart begins a 2-part investigation into the new web modules included with Delphi 3's Client/Server Edition
constr24.zip
6,747 bytes
23 Delphi 3 Packages
Bob Swart is joined by Chad Hower this month, together they give us the complete run-down on Delphi 3's new packages: using them for both run-time and design-time, writing and deploying them, with the benefits and pitfalls revealed, plus package collections and code signing. Phew!
constr23.zip
42,884 bytes
22 Delphi 3 ActiveForms
Bob Swart shows how to use one of the great new features in Delphi 3, making a Wizard ActiveForm and deploying it on the Web too!
constr22.zip
33,239 bytes
21 Delphi Wizard Magic
We've made Experts before, but now Bob Swart shows how to turn them into Wizards with an interface consistent with you know who, along with details of how to make Wizards binary compatible with both Delphi and C++Builder!
constr21.zip
11,730 bytes
20 Multi-Threading In Components
Bob Swart explains how to implement multi-threading in your applications and custom components and his concurrent programming tips help keep some hungry Dutch monks alive...
constr20.zip
5,856 bytes
19 A Delphi 2.01 CGI Debugger
Delphi builds great CGI applications for the internet, now you can easily debug or demo them without a web server using Bob Swart's new CGI debugger, built using the NetManage ActiveX controls which come with Delphi 2.01
constr19.zip
81,87 bytes
18 Talking DDE To ProgMan
Bob Swart develops 16-bit and 32-bit DDE components to work with your Windows environment: creating groups, adding items and so on
constr18.zip
4,899 bytes
17 TRuleBase Component
Bob Swart's returns to the theme of knowledge-based systems, developing rulebase and factbase components with supporting property and component editors too
constr17.zip
10,792 bytes
16 Knowledge Based Solutions
Bob Swart's specialist area is knowledge based systems and here he explains how to create simple but powerful rule-based systems in Delphi, using both forward and backward chaining
constr16.zip
5,155 bytes
15 Delphi 2 and CGI
Bob Swart develops an interactive World Wide Web based version of The Delphi Magazine Book Review Database, showing that developing applications for the Internet is nothing to be scared of!
constr15.zip
11,479 bytes
14 Testing And Debugging
Bob Swart has some useful tips, techniques and guidelines for keeping your components bug-free and finding those few that slip through the net
constr14.zip
1,231 bytes
13 AddIn Experts
Delphi 2.0 has a new, fourth, kind of expert and Bob Swart shows how to build your own, and there's even a bug-tracking expert on the free disk!
constr13.zip
16,113 bytes
12 A Hex Viewer And Editor
Bob Swart returns to component writing in this month's column, with a viewer and editor for binary files of up to 2Gb!
constr12.zip
7,160 bytes
11 Whats New?
Bob Swart re-visits the topic of sharing a component library in workgroup development, with an update and some fresh utilities
constr11.zip
5,991 bytes
10 Version Control Systems
Bob Swart describes the development of his ViCiouS version control system, showing how you too can develop your very own VCS!
constr10.zip
58,319 bytes
9 Components For Workgroups 1
Bob Swart offers useful advice and utilities for component management in a Delphi team development environment
constr09.zip
47,668 bytes
8 Component Editors
Bob Swart describes how to make use of Delphi's built-in component editors and shows how to build your own too
constr08.zip
2,769 bytes
7 Data-Aware Components
Bob Swart shows how to build your own data-aware controls, using a control to play WAV sound data from BLOB fields as an example
constr07.zip
193,439 bytes
6 Property Editors
This month Bob Swart shows how to add custom property editors to your components, finishing up with a new image property editor you can plug straight into Delphi
constr06.zip
30,496 bytes
5 Custom Events
Bob Swart describes how to add custom events and event handlers to your components
constr05.zip
41,109 bytes
4 Component Help
Bob Swart shows how to integrate help for developers using your components into Delphi's multihelp environment
constr04.zip
29,487 bytes
3 Customising Controls
Bob Swart shows how to derive new components from existing ones, using a right-aligned edit control as an example
constr03.zip
1,631 bytes
2 Tic-Tac-Toe
Bob Swart's component-building column focusses on encapsulating DLLs into Delphi components, by means of a tic-tac-toe game example (better known to British readers as noughts-and-crosses!)
constr02.zip
14,739 bytes
1 Build Your Own Components
Bob Swart kicks off his regular column by showing us how to get started on writing Delphi components
constr01.zip
4,908 bytes


This webpage © 1995-2009 by Bob Swart (aka Dr.Bob - www.drbob42.com). All Rights Reserved.