Wednesday, March 28, 2018

Calling SHGetKnownFolderPath from PowerBuilder

Up through Windows XP, if you wanted to get the physical location of certain defined folders (e.g. the users Documents folder), you would use the SHGetFolderPath function in the Windows API.  Roland Smith has examples of using that on his Topwiz Software site.  That function continues to work in later versions of Windows, although it's basically a wrapper for the SHGetKnownFolderPath function.

SHGetFolderPath uses CSIDL values, whereas SHGetKnownFolderPath uses KnownFolderID GUIDs.  One difference is that there are a lot more KnownFolderIDs than there are CSIDLs.  That means some of the defined folder locations you may want to get the physical location for can't be accessed through the older SHGetFolderPath method.  And that's exactly the situation I ran into.


Thursday, March 15, 2018

More options for connecting PowerBuilder with Git for source control

One of the things that has been hindering PowerBuilder users from adopting Git for source control has been the lack of a MSSCCI provider for Git.  That changed when PB Software released their provider in 2014, although I didn't discover it until 2017 and wrote about it in this blog post.

Of course, one of the new features in PowerBuilder 2017 R2 is native support for Git, so if you're using that version then the lack of a MSSCCI provider for Git is no longer an issue.  However, if you're on an older version of PowerBuilder, you still need such provider.

The good news is that since I wrote that original article another MSSCCI provider for Git has become available.  In September of 2017, the folks who make the Zeus editor and the AgentSVN MSSCCI provider for SVN announced the release of AgentGit, a MSSCCI provider for Git.

I haven't tried this new Git provider yet, but I do use their SCN provider and it's quite solid.  I would expect their Git provider to work equally as well.  They also have a try before you buy option so you can check it out for yourself for free.