January 13, 2003

Happy New Year and Update

A very happy new year to anyone who actually reads this, and I hope you all had a great holiday break. I took time off development over christmas, having released a new build of pn2 to sourceforge just before (which I didn't announce anywhere, slapped wrists).

The new build includes style customisation (yes, an options dialog!), printing and some other basic services missing from the last release. I've now started work on v0.3 which will include keyword customisation (already complete, testing needed), and tools support. Once basic tools support has been implemented, I will launch v0.3 as this feature will need quite some testing.

After 0.3, we move on to some less-core functionality like the docking windows (or helper windows). I also have some interest in branching the project at this point into two projects. First, the fully-featured MDI application that we know and love as PN2. The second project would be a mini-pn style application which would be a lightweight base-services only notepad-style program. I will only do this if I can keep a large amount of the code shared between the two to ease maintenance.

Please remember, all comments and bug reports on pn2 are always welcome. Please feel free to enter such things into the sourceforge tracker.

Posted by Simon at January 13, 2003 11:33 PM

I was curious and downloaded PN2.0.2 from SourceForge. Unfortunately, it doesn't work on my PC, running NT4 SP6. It gives the following error message:

The procedure entry point SHGetSpecialFolderPathA could not be located in the dynamic link library SHELL32.dll.

Probably some MS common library problem....


Posted by Patrick at Jan 15, 2003 12:42 PM

I have downloaded PN2 and I gotta say this thing looks nice already although I can't use it for everyday use. I literally run pn1 all day long while at work and I find I can't code as well without it anymore. I don't know if that is a good thing or not. ;-) Right off the bat, I like the lines to show me where my code block ends. The fonts are pretty all right and as long as it keeps adding nice touches like these I will continue to look for it. Keep up the good work, Simon. I recommend pn to all my coding friends.

Have you thought about putting up requests on SourceForge for types of people to help out the project? I don't have tons of time but I could help where needed. I am not a C++ programmer at all but there seem to be other things that can be done I am sure. Thanks again for your hard work.

Posted by Greg at Jan 17, 2003 6:55 PM

As for SHGetSpecialFolderPath, I'll add it as a bug in SourceForge and look into it. That's annoying.

As for asking on sourceforge, I suspect I will do once I get slightly further down the line on pn2. I am quite willing to accept enthusiasts help already, but asking for any old people to help still seems scary!

Glad you like the software...

Posted by Simon at Jan 20, 2003 8:39 PM

Apparently SHGetSpecialFolderPath doesn't work without the shell update installed on NT4. Therefore, substituting this function will help:

BOOL UtilGetSpecialFolderPath (
char *path, // Path buffer
int folder) // Special folder ID
ITEMIDLIST *pidl; // Shell Item ID List ptr
IMalloc *imalloc; // Shell IMalloc interface ptr
BOOL result; // Return value

if (SHGetSpecialFolderLocation (NULL, folder, &pidl) != NOERROR)
return FALSE;

result = SHGetPathFromIDList (pidl, path);

if (SHGetMalloc (&imalloc) == NOERROR) {
imalloc->lpVtbl->Free (imalloc, pidl);
imalloc->lpVtbl->Release (imalloc);

return result;

Thanks to Roger Hunen who posted this on comp.os.ms-windows.programmer.win32.

Posted by Simon at Jan 20, 2003 8:46 PM

I'm glad you figured out how to fix the SHGetSpecialFolderPath on NT4. Also thanks for the other fixes on SourceForge today.

I'm an experienced C++ programmer (though I've never used WTL before), so I might be able to help in the project whenever you think the time is right.


Posted by Patrick at Jan 20, 2003 9:21 PM