<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-9879772</id><updated>2009-07-20T09:49:58.186+10:00</updated><title type='text'>Lachlan on Delphi</title><subtitle type='html'>Discoveries, questions, bugs and fixes about programming with Delphi and other languages.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://feeds.feedburner.com/LachlanOnDelphi'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9879772.post-1468085999810121564</id><published>2009-07-16T18:21:00.002+10:00</published><updated>2009-07-16T18:31:07.674+10:00</updated><title type='text'>Useful tools for Delphi Developers Part 2</title><content type='html'>&lt;p&gt;There was a lot of material I didn't have time for in last night's presentation so I made this recording this morning covering some more useful tools for developers.&lt;/p&gt;

&lt;p&gt;You can &lt;a href="http://lachlan.gemmell.com/programming/articles/adug_july_2009_more_tools"&gt;watch it online&lt;/a&gt; now or &lt;a href="http://lachlan.gemmell.com/programming/files/adug/MoreToolsADUGSydneyJuly2009.zip"&gt;download it&lt;/a&gt; and watch it later.&lt;/p&gt;

&lt;p&gt;Tools covered in this presentation include&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.x-setup.net/"&gt;X-Setup Pro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sibcode.com/icon-editor/"&gt;Sib Icon Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.drexplain.com/"&gt;Dr Explain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.diigo.com"&gt;Diigo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.wilsonc.demon.co.uk/d10resourceeditor.htm"&gt;XN Resource Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.r2.com.au/software.php?page=2&amp;show=startdelay"&gt;Startup Delayer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.fineprint.com/products/fineprint/index.html"&gt;Fineprint&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://windirstat.info/"&gt;Windirstat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.flos-freeware.ch/notepad2.html"&gt;Notepad 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.iconico.com/caliper/"&gt;Screen Calipers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.foxitsoftware.com/pdf/reader/"&gt;Foxit Reader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.timesnapper.com/NextAction/Index.aspx"&gt;Next Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.codesector.com/directfolders.php"&gt;DirectFolders&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.timesnapper.com/"&gt;TimeSnapper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.snipitpro.com/"&gt;Snipit Pro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.rapidee.com/en/about"&gt;Rapid Environment Editor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-1468085999810121564?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/1468085999810121564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=1468085999810121564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/1468085999810121564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/1468085999810121564'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2009/07/useful-tools-for-delphi-developers-part.html' title='Useful tools for Delphi Developers Part 2'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-599267334713084188</id><published>2009-07-16T16:57:00.005+10:00</published><updated>2009-07-16T18:33:57.186+10:00</updated><title type='text'>Useful tools for Delphi Developers</title><content type='html'>&lt;p&gt;At the Sydney &lt;a href="http://www.adug.org.au"&gt;ADUG&lt;/a&gt; meeting last night I did a short presentation on some of the tools I use while doing Delphi development.&lt;/p&gt;

&lt;p&gt;Here's last night's presentation for you to &lt;a href="http://lachlan.gemmell.com/programming/articles/adug_july_2009_tools"&gt;view online&lt;/a&gt; or &lt;a href="http://lachlan.gemmell.com/programming/files/adug/ToolsADUGSydneyJuly2009.zip"&gt;download&lt;/a&gt; and watch later.&lt;/p&gt;

&lt;p&gt;Tools that are covered in this presentation include&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.smartinspect.com"&gt;SmartInspect&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.maxivista.com/"&gt;MaxiVista&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.realtimesoft.com/ultramon/"&gt;UltraMon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.winsplit-revolution.com/"&gt;Winsplit Revolution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.scootersoftware.com/index.php"&gt;Beyond Compare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.timesnapper.com"&gt;TimeSnapper&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally sites where you can obtain inexpensive or free software&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bitsdujour.com/previews/"&gt;Bits Du Jour&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.giveawayoftheday.com/"&gt;Giveaway of the Day&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.econsultant.com/i-want-open-source-software/index.html"&gt;A list of good open source applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.econsultant.com/i-want-freeware-utilities/index.html"&gt;A list of good freeware applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-599267334713084188?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/599267334713084188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=599267334713084188' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/599267334713084188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/599267334713084188'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2009/07/useful-tools-for-delphi-developers.html' title='Useful tools for Delphi Developers'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-1849536775547957262</id><published>2009-03-11T12:03:00.002+11:00</published><updated>2009-03-19T09:25:52.244+11:00</updated><title type='text'>New Delphi language features presentation</title><content type='html'>&lt;p&gt;Here's my &lt;a href="http://www.adug.org.au"&gt;Australian Delphi User Group&lt;/a&gt; presentation on the &lt;a href="http://www.adug.org.au/meetings/syd/past_meetings.htm#Jan2008"&gt;new language features&lt;/a&gt; introduced into the Delphi language between Delphi 7 and Delphi 2007.&lt;/p&gt;

&lt;p&gt;&lt;a href="/programming/files/adug/TodaysPascalADUGSydneyJan2008.zip"&gt;Zipped up Camtasia presentation recording&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-1849536775547957262?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/1849536775547957262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=1849536775547957262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/1849536775547957262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/1849536775547957262'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2009/03/new-delphi-language-features.html' title='New Delphi language features presentation'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-26241649567909959</id><published>2009-03-11T11:50:00.006+11:00</published><updated>2009-03-19T09:24:18.678+11:00</updated><title type='text'>Delphi development using VMWare</title><content type='html'>&lt;p&gt;Here's my &lt;a href="http://www.adug.org.au"&gt;Australian Delphi User Group&lt;/a&gt; presentation on using &lt;a href="http://www.adug.org.au/meetings/syd/past_meetings.htm#Nov2007"&gt;VMWare Workstation for Delphi development&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="/programming/files/adug/VMWareADUGSydneyNov2007.zip"&gt;Zipped up Camtasia presentation recording&lt;/a&gt;

&lt;p&gt;I do all my development in virtual machines these days. I don't even have Delphi installed in the host operating system. I find it a great way to keep the work I do for different clients or different personal projects completely separate and always ready to produce a build or debug error reports no matter how much time has passed.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-26241649567909959?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/26241649567909959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=26241649567909959' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/26241649567909959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/26241649567909959'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2009/03/delphi-development-using-vmware.html' title='Delphi development using VMWare'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-3266939698823360003</id><published>2008-05-12T16:08:00.003+10:00</published><updated>2009-03-20T13:12:26.091+11:00</updated><title type='text'>Live Templates Camtasia</title><content type='html'>&lt;p&gt;Back in November 2006 I did a presentation for the &lt;a href="http://www.adug.org.au"&gt;Australian Delphi User Group&lt;/a&gt; titled &lt;a href="http://www.adug.org.au/meetings/syd/past_meetings.htm#Nov2006"&gt;Long Live Live Templates&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;At the time I recorded it using the freeware &lt;a href="http://www.camstudio.org"&gt;CamStudio&lt;/a&gt; but since then I've splashed out and purchased &lt;a href="http://www.camtasia.com"&gt;Camtasia&lt;/a&gt; which I used to make the recording a bit more user friendly. Here it is if you'd like to take a look.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://cc.embarcadero.com/item/26746"&gt;Zipped up presentation recording&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://lachlan.gemmell.com/programming/files/adug/ADUG_Nov_2006_LiveTemplates_source.zip"&gt;Source code and notes&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-3266939698823360003?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/3266939698823360003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=3266939698823360003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/3266939698823360003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/3266939698823360003'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2008/05/live-templates-camtasia.html' title='Live Templates Camtasia'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-2700424749504433622</id><published>2007-10-20T11:04:00.000+10:00</published><updated>2007-10-20T11:38:22.900+10:00</updated><title type='text'>No Intraweb 9 help in CRS 2007</title><content type='html'>&lt;p&gt;Once again the Intraweb help is not integrated into the Delphi help system. It's supplied, you can find it in under \Help\Doc\Intraweb in your RAD Studio folder, but it doesn't appear in either the help contents, the help index or when you press F1.&lt;/p&gt;

&lt;p&gt;I've worked out how to make it appear in the help index and the F1 context help. It doesn't appear in the table of contents but once again I'm not sure if this is a bug or by design.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open $(BDS)\Help\Doc\h2reg.ini inside Notepad&lt;/p&gt;
&lt;/li&gt;
 
&lt;li&gt;
&lt;p&gt;At the end of the [Reg_Title] section add the line&lt;/p&gt;
&lt;p&gt;&lt;code&gt;borland.bds5|Intraweb||Intraweb\Intraweb.HxS|Intraweb\Intraweb.HxI|&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Apologies for the line wrapping, that should be just a single line.&lt;/p&gt;
&lt;/li&gt;
 
&lt;li&gt;
&lt;p&gt;At the end of the [UnReg_Title] section add the line&lt;/p&gt;
&lt;p&gt;&lt;code&gt;borland.bds5|Intraweb|&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Save and close the h2reg.ini file&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
 
&lt;li&gt;
&lt;p&gt;Open a command prompt and change the directory to&lt;/p&gt;
&lt;code&gt;$(BDS}\Help\Doc&lt;/code&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
 
&lt;li&gt;
&lt;p&gt;Enter the command&lt;/p&gt;
&lt;code&gt;h2reg -r&lt;/code&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Load the RAD Studio help using the Windows Start Menu. (Start | All Programs | Codegear RAD Studio | RAD Studio Documentation)&lt;/p&gt;
&lt;p&gt;The help window should say it is updating for a minute or so. &lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After that's all finished you should see Intraweb help in the index and when you press F1 in the IDE.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-2700424749504433622?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/2700424749504433622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=2700424749504433622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/2700424749504433622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/2700424749504433622'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2007/10/no-intraweb-9-help-in-crs-2007.html' title='No Intraweb 9 help in CRS 2007'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-110818587238045329</id><published>2005-02-12T16:22:00.000+11:00</published><updated>2005-02-12T16:24:32.383+11:00</updated><title type='text'>An embarrassing mistake</title><content type='html'>&lt;p&gt;I must have been drunk when I wrote it. For quite some time 
&lt;a href="/programming/2005/01/customising-delphi-2005-help.html"&gt;this entry&lt;/a&gt;
on my blog that describes how to modify the Delphi 2005 help system has been 
incorrectly stating you use the &lt;code&gt;helpReg&lt;/code&gt; command. There actually is
no &lt;code&gt;helpReg&lt;/code&gt; command, the correct command is &lt;code&gt;regHelp&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I've corrected the page now but my apologies if you tried to follow my
instructions before today.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-110818587238045329?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/110818587238045329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=110818587238045329' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110818587238045329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110818587238045329'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2005/02/embarrassing-mistake.html' title='An embarrassing mistake'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-110483227036510505</id><published>2005-01-04T20:49:00.000+11:00</published><updated>2005-01-04T21:13:08.410+11:00</updated><title type='text'>A lean mean Delphi machine</title><content type='html'>&lt;p&gt;If you're using Delphi 2005 and you're not using custom registry
configurations you're doing a lot of unnecessary waiting around for 
features to load that you aren't going to use. For instance if you're working on
a Win32 project, you really don't want to be loading the ECO packages. Also some of the Delphi 2005 
features are a little immature and preventing their packages from loading can 
&lt;strong&gt;improve the IDE stability&lt;/strong&gt; immensely.&lt;/p&gt;

&lt;p&gt;Custom registry configurations are an undocumented feature of Delphi that
unbeknownst to us all have been available from Delphi 6 onwards. Corbin Dunn
from Borland has probably 
&lt;a href="http://blogs.borland.com/corbindunn/archive/2004/09/29/1483.aspx"&gt;provided the most detail&lt;/a&gt; 
about this useful feature. His instructions involve modifying the registry
directly with RegEdit which can be a risky affair if you inadvertently delete 
the wrong keys.&lt;/p&gt;

&lt;p&gt;I've been working with Erwien Saputra and together we've put together a 
&lt;a href="http://blogs.slcdug.org/esaputra/archive/2005/01/03/796.aspx"&gt;utility that makes it easy and safe&lt;/a&gt; 
to create these custom configurations. It works
by copying either your base configuration or another custom configuration
and then lets you modify the new configuration safely.&lt;/p&gt;

&lt;p&gt;Key to creating these custom configurations is knowing which packages and
assemblies are required for which style of development. I've put
together an article discussing the different 
&lt;a href="/programming/articles/D2005_custom_configurations/Win32.html"&gt;Delphi 2005 packages&lt;/a&gt; 
and how they relate to Win32 VCL development. It's the first article in a series I'm working on.
Subsequent articles will discuss the packages needed for VCL.NET, Winforms, ECO,
C#, ASP.NET with Delphi, ASP.NET with C# etc. There's lots of gaps in my knowledge
of these packages though so I'd love any feedback you can provide on their functions.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-110483227036510505?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/110483227036510505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=110483227036510505' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110483227036510505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110483227036510505'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2005/01/lean-mean-delphi-machine.html' title='A lean mean Delphi machine'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-110480739100293497</id><published>2005-01-04T13:19:00.000+11:00</published><updated>2005-01-04T13:56:31.003+11:00</updated><title type='text'>CodeSite 2 can work in Delphi 2005</title><content type='html'>&lt;p&gt;If you're a user of &lt;a href="http://www.raize.com/DevTools/CodeSite"&gt;Raize Software's CodeSite debugging tool&lt;/a&gt;, you might have
received the same shock I did when going to the Raize site to download an update
for Delphi 2005. CodeSite 3 was released a few months ago and there is no official
support for using CodeSite 2 in Delphi 2005.&lt;/p&gt;

&lt;p&gt;The upgrade price for CodeSite 3 is quite hefty and hard for me to justify
right now. CodeSite 3 looks impressive but I only use a fraction of the features 
of CodeSite 2 and I don't think that's going to change any time soon.&lt;/p&gt;

&lt;p&gt;I've was pondering what to do about this when I realised that the source code 
for the runtime packages was provided with CodeSite 2, it's only the design time 
packages that source wasn't provided for.&lt;/p&gt;

&lt;p&gt;A quick copy and update of the old runtime packages to Delphi 2005 format
proved this to be correct. I can now make full use of CodeSite 2 through source
code in Delphi 2005. The CodeSite components are not available but I rarely used
them and all they do is save you typing a few lines of code anyway.&lt;/p&gt;

&lt;p&gt;To get CodeSite 2 running in Delphi 2005.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You need to already own a copy of CodeSite 2. This won't work otherwise.&lt;/li&gt;
&lt;li&gt;Save this updated &lt;a href="/programming/files/CSP20I90.dpk"&gt;CodeSite 2 package for Delphi 2005&lt;/a&gt; in your &lt;code&gt;CodeSite2\Source&lt;/code&gt; folder.&lt;/li&gt;
&lt;li&gt;Open it in Delphi 2005 and choose "Delphi for Win32" when asked what the package type is.&lt;/li&gt;
&lt;li&gt;Compile the package.&lt;/li&gt;
&lt;li&gt;I recommend you create a &lt;code&gt;CodeSite2\Lib9&lt;/code&gt; folder similar to the CodeSite
folders for the other compilers. Copy the &lt;code&gt;csintf.dcu, CSP20I90.dcp&lt;/code&gt; and &lt;code&gt;CSP20I90.dcu&lt;/code&gt;
files into it.&lt;/li&gt;
&lt;li&gt;I also recommend you copy the &lt;code&gt;CSP20I90.bpl&lt;/code&gt; package into &lt;code&gt;C:\WinNT\System32&lt;/code&gt; alongside
the other CodeSite 2 runtime packages.&lt;/li&gt;
&lt;li&gt;Lastly you'll need to add &lt;code&gt;CodeSite2\Lib9&lt;/code&gt; to your Delphi 2005 Library Path.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After that's done you should be able to use the &lt;code&gt;csintf&lt;/code&gt; unit in your Delphi 2005
Win32 projects like you could in Delphi 7. If you need .NET support though you'll
need to purchase CodeSite 3. From past experience CodeSite 3 is quite likely a 
fantastic product, it's just more than I need right now.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-110480739100293497?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/110480739100293497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=110480739100293497' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110480739100293497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110480739100293497'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2005/01/codesite-2-can-work-in-delphi-2005.html' title='CodeSite 2 can work in Delphi 2005'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-110471486989197821</id><published>2005-01-03T13:11:00.000+11:00</published><updated>2005-02-12T16:22:33.010+11:00</updated><title type='text'>Customising Delphi 2005 Help</title><content type='html'>&lt;p&gt;I think it was just coincidental but a few days after I &lt;a href="/programming/2005/01/no-intraweb-help-in-delphi-2005.html"&gt;reintegrated the 
IntraWeb help&lt;/a&gt; into the Delphi 2005 IDE, the Delphi help on my PC imploded
and wouldn't load the indexes for any help files.&lt;/p&gt;

&lt;p&gt;It may have been caused by me running the Delphi setup again but I don't 
really know. Anyway if it happens to you here's the fix and also a way to
customise the help system to remove help files you don't need.&lt;/p&gt;

&lt;ol&gt;
 &lt;li&gt;
 &lt;p&gt;Open a command prompt and change the directory to &lt;code&gt;$(BDS)\Help\Common&lt;/code&gt;.&lt;/p&gt;
 &lt;p&gt;&lt;/p&gt;
 &lt;/li&gt;
 &lt;li&gt;
 &lt;p&gt;Unregister the help files with this command&lt;/p&gt;
 &lt;p&gt;&lt;code&gt;regHelp -7&lt;/code&gt;&lt;/p&gt;
 &lt;/li&gt;
 &lt;li&gt;
 &lt;p&gt;To reregister all help files again use this command&lt;/p&gt;
 &lt;p&gt;&lt;code&gt;regHelp 7&lt;/code&gt;&lt;/p&gt;
 &lt;p&gt;If you wanted to be more selective with the help files that are registered
 you could try this instead which registers only the common help files and the
 Win32 help files.&lt;/p&gt;
 &lt;p&gt;&lt;code&gt;regHelp 5&lt;/code&gt;&lt;/p&gt;
 &lt;p&gt;To register the common help files and the .NET help files only use this command&lt;/p&gt;
 &lt;p&gt;&lt;code&gt;regHelp 3&lt;/code&gt;&lt;/p&gt;
 &lt;p&gt;&lt;/p&gt;
 &lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;What do those numbers mean?&lt;/h4&gt;

&lt;p&gt;The numbers are made by adding up the values from the table below. To install
you use a positive value and to uninstall you use a negative one.&lt;/p&gt;

&lt;table&gt;
&lt;tr&gt;&lt;td&gt;Common&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;.NET&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Win32&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;For example to install just the common and Win32 help files the parameter would
be 5 made up from 1 + 4 (Common + Win32). To uninstall them the value would be -5.&lt;/p&gt;

&lt;p&gt;To see all the options available enter &lt;code&gt;regHelp&lt;/code&gt; with no parameters
at the command prompt.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-110471486989197821?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/110471486989197821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=110471486989197821' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110471486989197821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110471486989197821'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2005/01/customising-delphi-2005-help.html' title='Customising Delphi 2005 Help'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-110456051445502915</id><published>2005-01-01T17:03:00.001+11:00</published><updated>2005-01-01T17:24:54.650+11:00</updated><title type='text'>No Intraweb help in Delphi 2005</title><content type='html'>&lt;p&gt;You might have noticed that there's no Intraweb help available in Delphi 2005 when you press F1. The help files are there inside \Help\ThirdParty, they just don't seem to be incorporated into the IDE help system. From the &lt;a href="http://groups-beta.google.com/group/borland.public.delphi.thirdpartytools.intraweb/browse_frm/thread/54da56711258ae60/c730862c283d23cc?tvc=1&amp;q=intraweb+h2reg&amp;_done=%2Fgroups%3Fie%3Dutf-8%26oe%3Dutf-8%26q%3Dintraweb+h2reg%26qt_s%3DSearch+Groups%26&amp;_doneTitle=Back+to+Search&amp;scrollSave=&amp;&amp;d#c730862c283d23cc"&gt;newsgroups&lt;/a&gt; I found a way to integrate it back into the IDE help. I can't explain the reasoning behind this but it fixed the problem for me.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
Open $(BDS)\Help\ThirdParty\IntraWeb.HxC inside Notepad
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
 
&lt;li&gt;
&lt;p&gt;Change the line&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;!DOCTYPE HelpCollection SYSTEM "MS-Help://Hx/Resources/HelpCollection.DTD"&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;to&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;!DOCTYPE HelpCollection&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
 
&lt;li&gt;
&lt;p&gt;Open a command prompt and change the directory to&lt;/p&gt;
&lt;code&gt;$(BDS}\Help\ThirdParty&lt;/code&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
 
&lt;li&gt;
&lt;p&gt;Enter the command&lt;/p&gt;
&lt;code&gt;h2reg -u&lt;/code&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Enter the command&lt;/p&gt;
&lt;code&gt;h2reg -r -m&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
 
&lt;p&gt;You should then be able to get context sensitive help for IntraWeb types. It doesn't appear in the contents but I'm not sure if that's by design or another bug.&lt;/p&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-110456051445502915?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/110456051445502915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=110456051445502915' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110456051445502915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110456051445502915'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2005/01/no-intraweb-help-in-delphi-2005.html' title='No Intraweb help in Delphi 2005'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9879772.post-110455595156390373</id><published>2005-01-01T15:52:00.000+11:00</published><updated>2005-01-01T18:33:33.726+11:00</updated><title type='text'>One simply must have a second blog</title><content type='html'>&lt;p&gt;Welcome to my programming blog. I'm going to focus mainly on programming with Delphi since that's what I know best but I'll diverge onto other topics and languages occasionally.&lt;/p&gt;

&lt;p&gt;You've probably arrived here via my first blog &lt;a href=
"http://lachlan.gemmell.com"&gt;Lachlan Gemmell - Software Startup&lt;/a&gt;. I like to keep that blog very focused and on topic so I've created this second blog for anything that doesn't quite fit over there.&lt;/p&gt;

&lt;p&gt;I'll probably do a bit more linking here than at &lt;a href=
"http://lachlan.gemmell.com"&gt;my other blog&lt;/a&gt; but I won't be echoing all the other Delphi blogs out there. I hate reading the same news six times over from six different blogs and I'm sure you do too. So I'll just play it by ear for a while and see how things turn out.&lt;/p&gt;

&lt;p&gt;Thanks for dropping by,&lt;/p&gt;
&lt;p&gt;Lachlan&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9879772-110455595156390373?l=lachlan.gemmell.com%2Fprogramming'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/110455595156390373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9879772&amp;postID=110455595156390373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110455595156390373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9879772/posts/default/110455595156390373'/><link rel='alternate' type='text/html' href='http://lachlan.gemmell.com/programming/2005/01/one-simply-must-have-second-blog.html' title='One simply must have a second blog'/><author><name>Lachlan</name><uri>http://www.blogger.com/profile/05666168623106775966</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10726361717118103624'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>