Click here to Skip to main content
15,513,143 members

Articles by Len Holgate (Articles: 22)

Articles: 22

RSS Feed

Average article rating: 4.52

Desktop Programming
ATL
24 Feb 2000   Updated: 24 Feb 2000   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: CPOL    Views: 56,532     Bookmarked: 37   Downloaded: 913
Please Sign up or sign in to vote.
A simplified method to enumerate a collection of objects.
MFC
25 Feb 2000   Updated: 25 Feb 2000   Rating: 4.50/5    Votes: 5   Popularity: 3.15
Licence: CPOL    Views: 121,041     Bookmarked: 47   Downloaded: 2,223
Please Sign up or sign in to vote.
How to package lots of standard functionality into a CListBox derived class.
24 Feb 2000   Updated: 24 Feb 2000   Rating: 4.78/5    Votes: 3   Popularity: 2.28
Licence: CPOL    Views: 155,663     Bookmarked: 53   Downloaded: 1,136
Please Sign up or sign in to vote.
A framework for system tray applets
20 Feb 2000   Updated: 20 Feb 2000   Rating: 4.33/5    Votes: 2   Popularity: 1.30
Licence: CPOL    Views: 64,900     Bookmarked: 32   Downloaded: 778
Please Sign up or sign in to vote.
The ATL OLE DB Provider templates only seem to support read-only rowsets and making them support updating of data isn't as easy as you'd expect!
20 Feb 2000   Updated: 20 Feb 2000   Rating: 0.00/5    Votes: 0   Popularity: 0.00
Licence: CPOL    Views: 61,141     Bookmarked: 26   Downloaded: 596
Please Sign up or sign in to vote.
The ATL OLE DB Provider templates only seem to support read-only rowsets and making them support updating of data isn't as easy as you'd expect!
20 Feb 2000   Updated: 28 Jul 2000   Rating: 4.17/5    Votes: 3   Popularity: 1.99
Licence: CPOL    Views: 97,670     Bookmarked: 35   Downloaded: 1,768
Please Sign up or sign in to vote.
ADO seems to be the ideal way to expose tabular data from your own COM objects and the ATL OLE DB Provider templates can help!
20 Feb 2000   Updated: 28 Jul 2000   Rating: 5.00/5    Votes: 7   Popularity: 4.23
Licence: CPOL    Views: 91,866     Bookmarked: 33   Downloaded: 1,066
Please Sign up or sign in to vote.
The ATL OLE DB Provider templates appear to rely on the fact that your data is kept in a simple array, but that's not really the case at all!
20 Feb 2000   Updated: 28 Jul 2000   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: CPOL    Views: 65,585     Bookmarked: 28   Downloaded: 1,245
Please Sign up or sign in to vote.
Adding bookmark functionality is relatively easy and it enables our ADO recordset to be used with a greater number of data bound controls.
27 Feb 2000   Updated: 27 Feb 2000   Rating: 4.65/5    Votes: 12   Popularity: 4.84
Licence: CPOL    Views: 170,517     Bookmarked: 52   Downloaded: 2,404
Please Sign up or sign in to vote.
Templates are a great way of reusing code, unfortunately MFC makes it hard to write MFC friendly template classes...
24 Feb 2000   Updated: 24 Feb 2000   Rating: 4.20/5    Votes: 2   Popularity: 1.26
Licence: CPOL    Views: 94,521     Bookmarked: 42   Downloaded: 1,559
Please Sign up or sign in to vote.
COM objects can be categorised using the Component Category Manager. The code here makes it easier to use these categories in your code.
25 Feb 2000   Updated: 25 Feb 2000   Rating: 4.09/5    Votes: 8   Popularity: 3.69
Licence: CPOL    Views: 100,093     Bookmarked: 54   Downloaded: 0
Please Sign up or sign in to vote.
Using simple in-process COM objects you can make an application easy to extend without the need for recompilation of the main app.
5 Jun 2002   Updated: 5 Jun 2002   Rating: 1.80/5    Votes: 2   Popularity: 0.54
Licence: CPOL    Views: 128,763     Bookmarked: 44   Downloaded: 1,228
Please Sign up or sign in to vote.
Sometimes it would be nice to be able to use a simple C++ object as a sink for Connection Point notifications. This article shows you how.
24 Feb 2000   Updated: 24 Feb 2000   Rating: 4.76/5    Votes: 10   Popularity: 4.76
Licence: CPOL    Views: 101,053     Bookmarked: 50   Downloaded: 1,555
Please Sign up or sign in to vote.
A mini framework for writing Control Panel applets. Just fill in the blanks!.
24 Feb 2000   Updated: 24 Feb 2000   Rating: 4.92/5    Votes: 9   Popularity: 4.70
Licence: CPOL    Views: 210,302     Bookmarked: 57   Downloaded: 3,750
Please Sign up or sign in to vote.
The Win32 Registry API is far too complex for simple tasks, and all the error checking gets in the way of the real work...
2 Jun 2002   Updated: 18 Jul 2002   Rating: 4.84/5    Votes: 22   Popularity: 6.40
Licence: CPOL    Views: 578,714     Bookmarked: 138   Downloaded: 10,644
Please Sign up or sign in to vote.
When a server has to deal with lots of short lived client connections, it's advisable to use the Microsoft extension function for WinSock, AcceptEx(), to accept connections.
20 Jul 2002   Updated: 17 Aug 2002   Rating: 4.90/5    Votes: 28   Popularity: 6.94
Licence: CPOL    Views: 642,482     Bookmarked: 153   Downloaded: 8,715
Please Sign up or sign in to vote.
This article explains the potential problems with having multiple pending recvs calls on a single socket.
25 May 2002   Updated: 17 Aug 2002   Rating: 4.83/5    Votes: 44   Popularity: 7.80
Licence: CPOL    Views: 1,000,606     Bookmarked: 353   Downloaded: 25,664
Please Sign up or sign in to vote.
Writing a high performance server that runs on Windows NT and uses sockets to communicate with the outside world isn't that hard once you dig through the API references. What's more, most of the code is common between all of the servers that you're likely to want to write.
25 May 2002   Updated: 17 Aug 2002   Rating: 4.70/5    Votes: 33   Popularity: 7.02
Licence: CPOL    Views: 925,213     Bookmarked: 193   Downloaded: 5,941
Please Sign up or sign in to vote.
To maintain performance a socket server shouldn't make blocking calls from its IO threads. This article builds on the previous one to add a business logic thread pool to our example server.
15 Jun 2002   Updated: 25 Jun 2002   Rating: 3.50/5    Votes: 11   Popularity: 3.64
Licence: CPOL    Views: 388,664     Bookmarked: 60   Downloaded: 11,520
Please Sign up or sign in to vote.
Although socket based TCP/IP servers using IO Completion Ports are often written in C++, it's sometimes useful to write such a server in Visual Basic.
Programming Languages
C++
8 Apr 2002   Updated: 8 Apr 2002   Rating: 5.00/5    Votes: 6   Popularity: 3.89
Licence: CPOL    Views: 53,843     Bookmarked: 23   Downloaded: 643
Please Sign up or sign in to vote.
There's no standard way to save complex COM+ application configuration in a form that can be placed under version control. This article presents 2 scripts that take advantage of the COM+ Catalog accessibility via script to provide functionality that should really come as standard.
Visual Basic
10 Apr 2002   Updated: 10 Apr 2002   Rating: 5.00/5    Votes: 10   Popularity: 4.77
Licence: CPOL    Views: 100,862     Bookmarked: 36   Downloaded: 1,047
Please Sign up or sign in to vote.
This example COM component provides 3 COM objects for using the Win32 Mailslot IPC mechanism. The component may be useful if you need to communicate from VB using Mailslots.
XML
20 Jul 2002   Updated: 20 Jul 2002   Rating: 4.92/5    Votes: 20   Popularity: 6.05
Licence: CPOL    Views: 318,749     Bookmarked: 192   Downloaded: 11,908
Please Sign up or sign in to vote.
When you're developing a TCP/IP server application, it's easy to test it poorly. In this article, we develop a test framework that does most of the hard work for you.

Average blogs rating:

No blogs have been submitted.

Average tips rating:

No tips have been posted.

Average reference rating:

No reference articles have been posted.

Average project rating:

No projects have been posted.
Software Developer (Senior) JetByte Limited
United Kingdom United Kingdom
Len has been programming for over 30 years, having first started with a Sinclair ZX-80. Now he runs his own consulting company, JetByte Limited and has a technical blog here.

JetByte provides contract programming and consultancy services. We can provide experience in COM, Corba, C++, Windows NT and UNIX. Our speciality is the design and implementation of systems but we are happy to work with you throughout the entire project life-cycle. We are happy to quote for fixed price work, or, if required, can work for an hourly rate.

We are based in London, England, but, thanks to the Internet, we can work 'virtually' anywhere...

Please note that many of the articles here may have updated code available on Len's blog and that the IOCP socket server framework is also available in a licensed, much improved and fully supported version, see here for details.