Serial Communications with Win32 API

Hey. I know this is probably not the most appropriate forum for this topic, but I know that the people who contribute to this forum are the ones for the job.

Im interning with a local nuclear plant and I have been tasked with upgrading a piece of software that was developed back in 1998 for one of the labs at the plant.

The program was developed with VBA and has a Ms Access front end and back end (FML). This program uses something called component works by national instruments in order to communicate with the COMM ports.

The issue is that this program will need to work on windows 7 preferably. I can not get a hold of this Component Works software due to the fact that it is not sold anymore.

So this program interfaces with a couple of machines in a lab via RS232 cables.

Here are my options that I would like some feedback on.

I would love to just rewrite the whole application in a new .NET language such as C# and either tie the UI into the existing Ms access database or use SQL instead. This would be the best approach for the long run I would think.

Another approach that I think would be good for long term is to use the Win32 API in order to communicate via the COMM ports. This is kind of the reason I am here is to see what you guys think.

For one, would it be that bad to use the Win32 API with VBA code???
Also, can anyone refer me to some good books or links that could be useful during my endeavor.

Another option that I have thought about is to somehow right something using VB.NET or C#.Net and then call it with the VBA code. I guess this would be some sort of a .dll or something. The only issue I see with this is that it might be slower and require extra things that would need to go along with the install.

Whereas if I were to use the Win32 API to handle the Serial COM. The program should work for any windows system out to date.

Thanks for reading guys. Also I would really appreciate any type of feedback. Feel free to let me know about other options.


Thanks,
Brandon
This may help, although it is in C++:

http://msdn.microsoft.com/en-us/library/ms810467.aspx

Keep in mind that this is a C++ forum.
Topic archived. No new replies allowed.