Kanade's Delphi Stuff
Delphi Tips, Sample code and Tools
Copyright © 1997-2004, Sanjay Kanade
 
  Tips and Tricks on Delphi
Please read the DISCLAIMER before you use any of the tips from this web site. Go to main index
  Delphi Tips: Tools that I use
Tip 60:  Comparing source files
(modified: 17 Aug 2002)


Tip 61:  Building Windows setup programs
(modified: 17 Aug 2002)


Tip 66:  Keeping notes on development projects
(modified: 22 Jun 2003)


Tip 67:  Find that file buried deep in your project folders
(modified: 22 Jun 2003)


Tip 63:  Debugging on the customer's PC
(modified: 23 Jun 2003)


Tip 69:  Internationalization
(modified: 23 Jun 2003)


Tip 68:  My own help authoring tool
(modified: 02 Oct 2004)


  60: Comparing source files
Date added/modified: 17 Aug 2002

When I had to compare some source files recently, I looked for a good compare utility on the web. Initially, I looked at only shareware. But, I couldn't find something that I liked. Then, I chanced upon the freeware WinMerge. I liked that and since then have been using it:

http://winmerge.sourceforge.net/

  61: Building Windows setup programs
Date added/modified: 17 Aug 2002

Please look at InnoSetup under "Setup programs." It's a great tool that I have used for quite some time. It is so good that I voluntarily paid donation several times to support it.

  66: Keeping notes on development projects
Date added/modified: 22 Jun 2003

The rigid task lists don't satisfy me when I want to keep track of my development projects. I want total free format control on my notes for this purpose with drag and drop capabilities to move notes between various folders along with better search and organization features.

Hence, I use my own tool, WhizFolders Organizer, to keep detailed notes on feature requests, ideas, bugs to fix, bugs done, etc. Just download a trial copy and see if it helps you too.

  67: Find that file buried deep in your project folders
Date added/modified: 22 Jun 2003

Many times, I remember the file name but don't remember where in my project folder I have buried it. For example, I have hundreds of units organized within their own folders. But many times I don't remember in which project I used it. So, opening it through the project list is not always possible. Then, the only recourse left to me is to find it by "Find file" of Windows or by DOS "DIR /S" command. But, these tools didn't satisfy me. Many times, what I want is a composite view of all the files in the project folder.

Finally, I developed my own tool "Files At A Glance" for this purpose. Since I developed it, I am finding more and more uses for it as a programmer. It also helps me discover old files in my projects which I had forgotten about. I specially like its sort by file type feature by which I can glimpse at all my .PAS files together in a single list.

However, Files At A Glance is not available for trial yet. It is not complete in that sense. I have planned many more capabilities for it before I release it as trialware. Currently, it is reserved as a bonus utility for the owners of ShowSize.

  63: Debugging on the customer's PC
Date added/modified: 23 Jun 2003

Recently, an exception was coming only on a particular customer's system. The symptoms were not enough. I needed some tool to be able to see what was going on. I looked at many tools and finally found ExceptionalMagic. The demo version did not work well with my tests. But since it was priced low at $25, I bought it. With this remarkable tool, I was able to get a stack trace from my customer that showed me all the source files and line numbers that the stack went through. The rest was easy.

I highly recommend this tool:

http://dimus.virtualave.net/delphi/excmagic/index.html

Quick usage note: I am writing this note just to help myself remember how to use it. You might find it useful too.

  • Install the TExcMagicControl
  • Drop it on a form
  • In your Delphi project options, put on 'Stack frames' option on Compiler tab.
  • Put on 'Include TD32 debug info' on Linkger tab.
  • Build the project
  • You are done. To test whether it is working, insert anywhere in some event code, enter following line:

    raise exception.create('test:');
  • Run the program and cause the event code to run by pressing corresponding button. You will see an Exception Magic dialog come up showing the exact line number where it occurred. Click on Details and you get full stack trace which can be selected and copied to clipboard.
  • Remove the offending test line and rebuild. You are ready to send it to your customer where you tell him to click on details and copy/paste the stack trace back to you in an email message. Simple, isn't it?
For more advanced uses, please refer to the help file of this component. If you learn more things to do, please send me tips so that I can add them to this note.

Additional notes:
  • If the problem seems to occur in VCL units, it would help to put the debug DCU's ON too in the project options before rebuilding.

  69: Internationalization
Date added/modified: 23 Jun 2003

Recently, on a third-party development contract work, I had to make a product support Japanese language. I looked for tools all over. Many of them were very expensive! Finally, I chanced upon Localizer, and we bought it. We have been quite happy with it.

http://korzh.com/delphi/localizer/

  68: My own help authoring tool
Date added/modified: 02 Oct 2004

I have released an old program WhizNote as freeware. It is immensely useful for developers. You can use it to author Winhelp (Windows Help) files. It has unique features to edit HTML pages. Moreover, it is a first class note organizer where you can keep tidbits of information--code snippets, development plans, todo lists, bug reports and so on.

Click here to download WhizNote then run it to install.

INTERESTING NOTE: This is a 16-bit application that I had developed in Turbo C++. But recently, with the help of Delphi 5, I was able to give it a new face (and new life). I developed a 32-bit DLL in Delphi, and made the application use thunking to connect to the DLL. It works like a charm to present win32 file dialogs and some other long file name features. Kudos to Delphi for transforming this useful application.



 

Copyright 1995-2004, Sanjay Kanade. All rights reserved.
All trademarks and copyrights belong to their respective owners.