Click here to Skip to main content
15,916,945 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: 58,472     Bookmarked: 37   Downloaded: 922
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: 123,341     Bookmarked: 48   Downloaded: 2,239
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: 160,850     Bookmarked: 53   Downloaded: 1,143
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: 65,993     Bookmarked: 32   Downloaded: 779
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: 62,636     Bookmarked: 26   Downloaded: 604
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: 100,492     Bookmarked: 35   Downloaded: 1,775
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: 95,528     Bookmarked: 33   Downloaded: 1,077
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: 67,135     Bookmarked: 28   Downloaded: 1,263
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: 176,963     Bookmarked: 52   Downloaded: 2,445
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: 96,751     Bookmarked: 42   Downloaded: 1,566
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: 102,713     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: 132,858     Bookmarked: 44   Downloaded: 1,233
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: 104,238     Bookmarked: 50   Downloaded: 1,558
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: 220,193     Bookmarked: 57   Downloaded: 3,773
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: 631,311     Bookmarked: 137   Downloaded: 10,713
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: 709,516     Bookmarked: 153   Downloaded: 8,762
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,122,633     Bookmarked: 352   Downloaded: 25,776
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: 993,259     Bookmarked: 192   Downloaded: 5,967
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: 418,439     Bookmarked: 61   Downloaded: 11,679
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: 55,094     Bookmarked: 23   Downloaded: 646
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: 105,512     Bookmarked: 36   Downloaded: 1,079
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: 325,186     Bookmarked: 191   Downloaded: 12,131
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.