Options

Using Picture Transfer Protocol from within Navision

Theo_van_de_VenTheo_van_de_Ven Member Posts: 22
One of our clients is using a camera to take pictures of items. From the Item Card in Navision 2009 R2 (Classic Client) he can click on a button for this. What happens if he does this is the following:
1. delete all pictures on the camera
2. take a picture of the item
3. assign the picture to the current Item.

These actions are programmed in one codeunit and it uses the WIA (Windows Image Acquisition) automation controls. The client runs on a Windows XP machine and this solution works ok. He is using a Canon Powershot S3 IS camera for this.

But ..

Our client replaced the Windows XP desktop with a new Windows 7 desktop and now the solution stopped working. Errors occur when trying to delete all pictures on the camera or even when trying to take a picture.

After doing some research myself it looks like Windows 7 is not using some Vendor specific drivers anymore. Microsoft implemented a new driver in Windows 7 (and higher) that is replacing these Vendor specific drivers. This new driver is using the Picture Transfer Protocol (PTP-driver) to communicate to the devices such as camera's.

To be able to build functionality such as I described at the beginning of this topic I need to make use of this PTP-driver and theoretically it would enable me to do the same things as I did when I am using the WIA drivers. This is also confirmed by Canon which I spoke too.

When I design my codeunit and browse through the available automation servers on my Windows 8.1 laptop I could find the library to be used as automation.

Which automation server library do I need to use?
Are there any examples that use similar functionality through this PTP-driver?
Do I need to buy another camera to make this work or would the old Canon Powershot S3 work as well?

Any help is appreciated.
Theo van de Ven
Technical Consultant | System Administrator

Rainbow Crossmedia BV
Bosmanskamp 63
4191MT Geldermalsen
Sign In or Register to comment.