COM/ATL programming expert to fix source code

This project was awarded to mosc for $166 USD.

Get free quotes for a project like this
Project Budget
$30 - $250 USD
Total Bids
Project Description

Example project I posted is in VC6++ so you should be skilled in it and wrap around existing code!!

First download this ActiveX control:

[url removed, login to view]

Once you install the package, you will find MFC example source code in installation dir....

I tried making console version, but there are some errors... I took console example project from almost same ActiveX control([url removed, login to view])

...but there are some errors, and some features need to be added..

I am adding my VC6 project and also an application which sends some data to serial port, so you can test if project is working as it should..

In order for project to work, you must install DEMO of Serial Port Monitor AX.. Don't mix it with Serial Sniffer AX(from which I just took skeleton for console c++ application)!!!!!!

By installing DEMO, you will register [url removed, login to view] on machine, as well as registering appropriate drivers automatically!!! Now you can proceed to testing the app...

This is what needs to be done(check example MFC project in installation dir of AX control to know exactly what and how needs to be done,to check methods etc.):

- make appropriate fixes to my supplied project

- test software on Windows XP,7,server 2003 etc...

- "switch (dispidMember){ ............ }" is most problematic part... I took this part from [url removed, login to view] which is similar ActiveX control, but it's not same, so it doesn't work as it should.. That part needs to be rewritten from scratch..

For ex. I tried to write "CASE 12:" inside loop and (char*)pDispParams->rgvarg[1].bstrVal keeps previous value...

So, if first caught package was 123456789BBB , and second one was AAA , you will get this output value: AAA456789BBB .. Seems rgvarg[1].bstrVal is not cleared on something..

- Next, inside WinMain, I need program done in this way(check HELP file in installation dir of AX control for these few methods and properties):

numberofports=CountPorts(); // to check number of ALL available Serial ports, since program needs to monitor ALL available serial ports


portname=GetPortName(); // to get name of targeted port

call property IsSniffed() to check if port is already sniffed.. Shouldn't be, but test anyway, it's the proper way..

CreateThread[number_of_thread] , portname; // my project currently make 2 threads manually for COM1 and COM2, so I need it to be done dynamically


keep program running until it's closed by force or machine is rebooted/shut down

shut down threads and stop monitoring on program termination

- Another big problem I have now, is that I can't catch program termination successfully, so it doesn't stop monitoring properly.. And consequences of that are program freeze, OS freeze etc. I guess someone else will know how to handle MessageTranslate/Dispatch properly,,,

- write results from all monitored ports into one file.. So check for sharing violation etc.

- implement error checks

- check if [url removed, login to view] is imported successfully and act accordingly.

- check what happens if massive amount of data starts passing through on multiple ports

- check how unicode strings get written

- check what happens when large amount of data is read/written on ports, to see if AX control crashes

- pay attention though that port monitoring doesn't end on port closing/opening!!! as it will auto-monitor on open/close.. Monitoring needs to end only on program termination!!!

- also, if [url removed, login to view] can be included in application itself instead of it being in same directory as EXE, that would be nice...

Awarded to:
Skills Required

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online