Delphi Pluggable Protocols


Internet Explorer 4 and later allows developers to produce plug-ins to handle different URL protocols. For example, type 'about:things' into your browser. This will echo back the word 'things' in the browser. All the different protocols supported by IE4 are implemented using asynchronous pluggable protocols, as these plug-ins are known.

I have been attempting to write a pluggable protocol in Delphi for a while now. However, unlike most programming activities, it seems almost impossible to find informative websites for this kind of development. This is why I have added this page to my website. As I learn more about them, I will add more information here. It will primarily cover implementation in Delphi.


In order to write a pluggable protocol, it is necessary to implement the IInternetProtocol interface. The developer can also implement the IInternetProtocolInfo interface, although I'm not entirely sure why you'd want to do this.

Finally, to help you on your way, here is my implementaion of a simple pluggable protocol. The zip file contains the interface definition and my implementation of the interface. It uses the ework: protocol. It will echo back the URL in a HTML document, along with the type of the operation and any data that has been passed.


There is a newsgroup devoted to this subject. It can be found at news:microsoft.public.inetsdk.programming.urlmonikers

Also of use may be the IE5 newsgroup. This is news:microsoft.public.inetexplorer.ie5beta.programming.urlmonikers

A useful newsgroup for Delphi programmers is news:borland.public.delphi.internet