Ok:
To drag and drop files to a DBpro I use "Shell32" and Matrix uniliti function "Set Message Callback filename$" as follows:
#constant WM_DROPFILES 0x233
global DBproWin as dword
DBproWin = get dbpro window()
global FilePtr as dword
global FileNamePtr as dword
FileNamePtr = alloc(0xff)
load dll "shell32", 1
call dll 1, "DragAcceptFiles", DBproWin, 1
set message callback "GetDraggedFilePointer"
do
if FilePtr <> 0
`numberoffiles = call dll(1, "DragQueryFileA", FilePtr, 0xFFFFFFFF, 0, 0)
temp = call dll(1, "DragQueryFileA", FilePtr, 0, FileNamePtr, 0xFF)
fileName$ = peek string(FileNamePtr)
print filename$
call dll 1, "DragFinish", FilePtr
FilePtr = 0
endif
loop
function GetDraggedFilePointer(Winhandle as dword, ActionType as dword, FileUsedAtAction as dword, Ignore as dword)
If ActionType = WM_DROPFILES
FilePtr = FileUsedAtAction
ENDIF
endfunction result
now some new systems the command from matrix utility is causing crash. So I need another solution.
I know that there could be a solution in the Styx library using function call back but the only available example is on kernel32, and I couldn't figure out how to use it with SHELL32.