Thursday, December 21, 2006

Merry Christmas

It's that time of year once again. Time for me to be politically incorrect by saying Merry Christmas to all. God has blessed my life in so many ways; I wouldn't feel right giving any other reason for this wonderful time of year. I hope all of you (well the few of you) who read my blog have the best of time with your family this year, and remember what the true meaning of Monday is. If you don't share my belief, that is fine also, I still wish you Merry Christmas.

Regardless though, it's great time of year to see family, help others, respect everyone and just be happy. We are all truly blessed.

Chris

Monday, December 18, 2006

Pre-allocated Strings in Win32 API

As a part time developer, I can say that I have nowhere near mastered C#. When I find something that took me quite a while to figure out I might as well post it here in hopes it will make someone else's life easier. My problem was calling a Win32 API from within C# (PInvoke) with a char* that needed to be pre-allocated. Example:

long JustATest (long handle, char * pPreallocatedText)

Normally in the scenario of char* I would simply pass a type of string. This works fine until the API needs the string to already be allocated. From my test, there was no way to get the call to succeed using:


 

[DllImport("sample.dll", EntryPoint = "JustATest")]

public static extern int JustATest(int handle, string text);

What I finally discovered (thanks to another blog) was that you can use a StringBuilder instead and just pre-allocate its size:

[DllImport("sample.dll", EntryPoint = "JustATest")]

public static extern int JustATest(int handle, StringBuilder text);

To make the call simply create a StringBuilder:

StringBuilder text = new StringBuilder(2000);

Than call the API.

int iResult = JustAtest(myHandle, text);

This seemed to work perfectly. Hope this helps someone.

Chris

Saturday, December 09, 2006

KnowledgeLake 2007 Products Enter Beta

I got to take a giant breath last night and started thinking about the 60 days ahead. We released our 2007 product line to public beta last night, and I can tell you I am proud and lucky to have the team I do. It's one of the most determined groups of individuals I've ever worked with. If you are a current KnowledgeLake customer with a maintenance contract you should be able to download our two desktop products early next week. Many customers signed up to test the entire line of Beta products and I look forward to seeing them all on Monday for the Beta training.

Our 2007 product line is the biggest single development project KnowledgeLake has ever taken on, as well as myself. I've always known that adding bodies to help code isn't always the answer, but I have to say that the support group around those developers cannot be big enough. I have a few key individuals (MM BP and JD) that really stepped up in non-development roles to help kick this Beta into high gear.

Let me just mention quickly about the products that are part of the Beta Program.

KnowledgeLake Enterprise Imaging Server 2007

We were hoping to invent the longest product name ever, but we just couldn't quite beat Microsoft Visual Studio Tools for Office 2007, however we got close. The good thing like VSTO, we just call ours EIS for short. Anyway, this is our product that really turns either MOSS or WSS into a true Document Imaging system. It allows user to Scan, Index, Search, View, Print, Export and Import documents into SharePoint Document Libraries, directly from the SharePoint web application. The new features that have been added since our 2003 products are Scan, Index, Print and Export. I'll be blogging more about these individual features in the near future, but my feeling is these additions are going to completely separate us from other ECM vendors.

KnowledgeLake Product/Desktop Capture 2007

We have two versions of our 2007 Capture product. Unlike before where the production and desktop version were based on completely different platforms the 2007 products share a majority of their code. The big difference between the two products is the drivers it supports. Desktop Capture only works with Twain and WIA devices, although either product can be extended to use any scanner driver if you have a way to code against it in .NET. Production Capture also includes a license that connects it to our upcoming Enterprise Capture Services, due to be in Beta in a couple weeks.

KnowledgeLake Connect 2007

A complete overhaul of our original Connect product, the new Connect, while not necessarily loaded with new features, sets us up with a much better platform to grow this product. The single biggest thing we did was share the Indexing code between all products including Connect. This allows administrators to setup validations and lookups on the server side and then just consume them on all of our clients. Other cool new features include the ability to add folders to document libraries directly from the tree view, ability to upload a batch of files, prompts to overwrite files and the ability to release to Enterprise Capture Services.

If you are interested in any of these products, just hit our web site http://www.knowledgelake.com for more information on contacting us, or just keep checking my space and I'll talk about each product in detail over the coming weeks.

Have a great weekend,

Chris

Monday, December 04, 2006

Snipping Tool has Issues, Snag-It Still Rocks

I had blogged a couple weeks ago about the new Snipping Tool in Vista and about how it was going to replace Snag-It. Well I must say that I must retract that as I just installed Snag-It for the following reasons:

  • Clipping Tool can't be executed with hot keys (that I can tell) and therefore can't always capture what need, such as the Application Menu in Office 2007 client applications.
  • Clipping Tool saves to clipboard as an odd format because I can't paste into my favorite Icon program, which is Axialis. This forced me to use Paint or something archaic as an intermediate step.
  • Image cleanup is very limited compared to Snag-It.

Those are enough reasons for me, and besides Snag-It is cheap.

Have a good week,

Chris

Friday, December 01, 2006

Run As Administrator in Vista

I've found a happy place in Vista, and that's by running stuff as an Administrator. I originally thought I was in trouble and would have to roll back to XP, but I'm feeling better about it tonight. I've realized that XP drivers get installed in places that only administrators have rights to, and even though applications may seem to work fine I still need to run them as admin in order for the drivers to work correctly. I'm sure the security stuff in Vista will pay off, but for now I wish it'd quit complaining.

Have a good weekend,

Chris

Run As Administrator in Vista

I've found a happy place in Vista, and that's by running stuff as an Administrator. I originally thought I was in trouble and would have to roll back to XP, but I'm feeling better about it tonight. I've realized that XP drivers get installed in places that only administrators have rights to, and even though applications may seem to work fine I still need to run them as admin in order for the drivers to work correctly. I'm sure the security stuff in Vista will pay off, but for now I wish it'd quit complaining.

Have a good weekend,

Chris