MTP (Media transfer protocol) in Delphi

Clyde24
Clyde24 used Ask the Experts™
on
For more information see this question

All is working fine, except I now find one thing is missing - I need to be able to  create folders on the device.

So I need to the code that would do this, or preferably just update the demo project to include an example (via another button)
mtp10.zip
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Sinisa VukSoftware architect
Top Expert 2012

Commented:
So... added create folder functionality and fix some stuff.
this is done as recursive function (again) - so you can add full path with few sub-folders which doesn't exists at all.

It is very similar to copy file to specific folder on device....
mtp11.zip

Author

Commented:
Unfortunately the new code in V11 won't compile for me (V10 is still OK).

error1
error2error2.png
Sinisa VukSoftware architect
Top Expert 2012

Commented:
And if you declare function like
function TForm12.GetDeviceId: WideString;
...

Open in new window

?
OWASP Proactive Controls

Learn the most important control and control categories that every architect and developer should include in their projects.

Author

Commented:
OK, it compiles but I can't create any folders. For example in the "create spec. folder" box I have:

s10001\Pictures\test

But I get the error "cannot create destination folder"

attached is the log
log.txt
Software architect
Top Expert 2012
Commented:
Try this new one. Fixed few things... and Pos compile error too.
mtp12.zip

Author

Commented:
Strange - it works when creating a folder in the root "s10001", but not anywhere deeper

For example entering the following works:

s10001\test

However, the following does not:

s10001\pictures\test

Log is attached
log.txt
Sinisa VukSoftware architect
Top Expert 2012

Commented:
Strange indeed. Works on my android phone, sd card, usb ...
But I have exposed drive letter, folders/files are with a real names....
Will look....

Author

Commented:
... also another issue I noticed - I Need to know the exact name of the device as shown in Windows explorer. For example, I have a "Garmin Oregon 650" GPSr unit connected:

gpsr
However, when I interrogate the mtp_demo log I can't see this exact reference (the 650 is missing, which is very important as that is the model number):

FriendlyName len=7
FriendlyName=GARMIN
DeviceDescription len=13
DeviceDescription=Oregon Flash

Open in new window


How can we get the exact name as shown by Windows explorer
Sinisa VukSoftware architect
Top Expert 2012

Commented:
Can you post log for this Garmin issue....
using this newer example...
mtp13.zip

Author

Commented:
log attached
log.txt
Mike McCrackenSenior Consultant
Most Valuable Expert 2011
Top Expert 2013

Commented:
I've requested that this question be deleted for the following reason:

The question has either no comments or not enough useful information to be called an "answer".

Author

Commented:
I changed the code to just delete a single folder and it worked

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial