Blog Entries

By Chris Zinck on 7/13/2012 11:29 AM
Before we started building their new online web booking, Murphy’s The Cable Wharf had an on-premises booking/POS system. This was a modern n-Tier system with a rich user interface client installed on the POS workstations, business logic on a web service on their in house server and an SQL Server for the data  .......
By Chris Zinck on 7/11/2012 7:13 PM
For the last 6 months we’ve been working on a project for Murphy’s The Cable Wharf. They are a local tour operator that runs the sailing and duck boat tours here on the Halifax Waterfront. You can see their web site at
By Chris Zinck on 5/12/2011 12:00 AM
Here’s a problem we just figured out today. Implementing the new Sage ERP Accpac desktop Icon protocol requires that you provide a DLL with three entry points that get called when the desktop initializes.

We had all sorts of trouble getting the System Manager to load and run our DLL. We messed around with different ways to export the entry points, we implemented the DLL in a pure C environment (instead of a C++ file) and we moved the code into our activation view and exposed it there. None of it would work. So, we built a completely stand alone file and erected the basic protocol with nothing else. Presto! The DLL loaded and ran.

Cool, we didn’t really understand why, but what the hell it works. We then started adding real code to make the code do something.

Uh Oh…it’s broken again. What did we do? Well, we added calls to a dependency. Another DLL that has some support code. Why would that break it?

It turns out that when the Icon Protocol DLL is called, the working directory is NOT...
By Chris Zinck on 2/24/2011 12:00 AM
About a year ago, I posted information regarding issues with DEP (Data Execution Protection) and Accpac addins written in .Net. ( While my post addressed the issue from the point of view of running the app, there is an outstanding issue of debugging this apps. Under the default situation, debugging a .Net Accpac addin that uses Accpac controls will cause the program to fail. The underlying reason for this relates to Visual Studio's use of a hosting process to run the debuggee. This process is started by launching the VSHOST32.EXE process which then launches the debuggee. The reason this generates DEP errors is that the VSHOST32.EXE process has the NXCOMPAT flag set. This turns DEP on regardless of what is set in the debuggee process binary. To solve this problem, you need to modify the VSHOST32.EXE process. Run the EDITBIN utility on the VSHOST32.EXE...
By Chris Zinck on 2/24/2010 12:00 AM
At Zinck Computer Group we’ve developed a COM component that we use in our eTransmit product to send documents by email or fax. Up till now we’ve been installing and registering the component on each workstation that uses eTransmit. This is a huge pain in the A%$# and has led to many support calls and emails.

We started considering a rewrite of the component into an old style C DLL. But recently, we’ve been experimenting with Registrationless COM.

This technique ROCKS! With some easy to setup manifest files, you can put all your COM components in your application folder and just instantiate them like you used to, no registration required.

Windows XP and up, but definitely worth the effort.
By Chris Zinck on 1/16/2010 12:00 AM
Accpac will be moving to a presentation/UI layer that is based entirely on open source tools. This is going to be a huge challenge for us at Zinck Computer Group.

For as long as we have been in business, we’ve developed software using Microsoft and Accpac technologies. We started back in the 80’s with MSC 5.0 and DOS and moved right into Accpac for Windows and Visual Studio / Visual Basic.

But now, the Accpac SDK is based on Tomcat, Eclipse, Google Web Toolkit and Java. Holy Cow Batman! What a difference!

What I’m noticing is that while most of these tools are deep and flexible, they just don’t have the product polish that something like .Net or Visual Studio has. I can’t go to a web site like MSDN and look up quality documentation.

I’m already finding it hard to get centralized information on these tools. Sure, Java is a no brainer, but Tomcat, GWT and Eclipse are moving targets and not as nearly well documented.

This is going to be a major change for us and we are going to...
By Chris Zinck on 1/15/2010 12:00 AM
As I mentioned in my last post, I volunteer on Engineer Nova Scotia’s Board of Examineers. I’ve also done the odd visit on an accreditation team for the Canadian Engineering Accreditation Board.

Last weekend I was part of the team that visited UBC’s Okanagan campus and had a look at their new engineering programs. It’s an incredible amount of work, but I’m continuously amazed at the quality of the team on one of these visits. The staff and faculty at UBC Okanagan were extremely helpful and enthusiastic.

It sort of makes me wonder if engineers that get involved with their community and education are normally this good. It sure makes me hopeful that the profession will continue to improve and set high standards.

That can’t be anything but good for the future of public safety and breakthroughs in applied technology.

Viva la Engineer! :-)
By Chris Zinck on 12/17/2009 12:00 AM
I’m a practicing Professional Engineer and have been a member of Engineers Nova Scotia’s Board of Examiners for almost 10 years now. Today was our December Board meeting which also doubles as a Christmas party. Lunch and the meeting is normally held at a local restaurant and a good time is had by all.

When I was driving back to the office after the meeting, I was thinking about the engineers on the board and how well we worked together. I’ve been involved with some volunteer organizations and the politics and back biting can get very bad. But the people on the Board of Examiners are excellent.

Just thought I’d put that on the record.
By Chris Zinck on 12/16/2009 12:00 AM
We received our Sage Accpac 5.6 disks last week. There are a lot of little changes and some fairly big ones. Here is a sampling of what’s new:

Completely new installation process. There is now an integrated install. No more installing each module separately. Yeah! Integrated activation. The activation process is now integrated so that you pick the modules you want activated from a list and then let it do it’s thing. This keeps you from having to baby sit the process when you are doing a lot of modules. Reporting and operational tweaks in G/L, A/R and A/P Reworked Bank Rec process in Bank Services. A lot of other changes to Bank Services. A new business intelligence reporting module. and the big change is a completely rewritten serialized and lot tracking module that is integrated in to I/C, O/E, P/O and P/M. Plus you don’t purchase the modules separately now. Serialized and Lot Tracking are sold as one add on module. There are a lot of other changes but that’s the main list. DB2 is no longer supported and full PDF manuals have disappeared. The help files are the main source for operational information now.

By Chris Zinck on 12/8/2009 12:00 AM
Last year after we installed Vista on our development machines, we came across a problem with .Net programs and Accpac.

We’ve been writing some of our custom Accpac programs in .Net and calling the Accpac COM API to interface with Accpac ERP. But when these .Net programs were run on our Vista machines they would crash. But only when using one of the Accpac COM API’s that would pop open a window. Calling a Finder through the API or doing a ShowErrors call would instantly crash the program. Everytime.

After doing a LOT OF investigating, we discovered that the problem was related to DEP (Data Execution Protection). If we disabled DEP on our workstations, the problem would go away.

With some more digging, we came up with a theory that fits pretty well. Turns out the ATL library had some problems with DEP (up to and including V7.1). They do some kind of runtime code creation for thunking that makes DEP think the program is trying to run data. And then DEP causes the program to crash. Guess who uses ATL components in their COM API? Correct! Accpac! Everytime we used the COM API that opened a window of some kind, an ATL component was called and BAM! Down it goes.




Recent Entries

How we built Murphy's booking system
Murphy's web store goes Live
Problem with new Desktop Icon Protocol
Debugging .NET Accpac Addons
Registrationless COM
Moving from MS to Open Source
Board of Examiners Christmas Lunch
Sage ERP Accpac 5.6 has been released
DEP, .NET, Windows and Accpac