@fastpho, ah vale, ya lo entiendo.
Pues mira, tengo una solución que no vas a entender pero funciona (en mi caso por lo menos).
En "Opened" de tu Form pones esto:
Código COBOL:
WORKING-STORAGE SECTION.
01 nCMIMAGE1 IS EXTERNAL PIC S9(9) COMP-5.
...
PROCEDURE DIVISION.
...
move CmImage1 to nCMIMAGE1
En "MyWndProc" añades esto en la Working:
Código COBOL:
*>-------------------
01 POW-0000 PIC S9(18) COMP-5.
01 POW-0001 PIC S9(9) COMP-5.
01 POW-0002 PIC S9(9) COMP-5.
01 POW-0003 PIC S9(9) COMP-5.
01 POW-0004 PIC S9(9) COMP-5.
01 POW-0005 PIC S9(9) COMP-5.
01 POW-0006 PIC X(8192).
01 POW-0007 PIC S9(9) COMP-5.
01 nCMIMAGE1 IS EXTERNAL PIC S9(9) COMP-5.
Y en la procedure, en el
IF MSG = WM_DROPFILES le añades este código, no intentes entenderlo, simplemente pégalo tal cual:
Código COBOL:
...
IF MSG = WM_DROPFILES
call "DragQueryFileA" with stdcall using by value WPARAM
by value 0
by reference dropFileName
by reference fileSize
*> display "Fichero: " dropFileName
*>-------------
MOVE 117440513 TO POW-0000
MOVE 4 TO POW-0001
MOVE 0 TO POW-0002
MOVE 0 TO POW-0003
MOVE 0 TO POW-0004
MOVE 1 TO POW-0005
MOVE dropFileName TO POW-0006
MOVE 33636360 TO POW-0007
CALL "XPOW_INVOKE_BY_ID_2" USING VALUE nCMIMAGE1 REFERENCE POW-0000
VALUE POW-0001 POW-0002 POW-0003 POW-0004 POW-0005 POW-0007
REFERENCE POW-0006 END-CALL
*>-------------
END-IF
...
Rebuild ALL y ejecuta, a ver si funciona. Si no funciona, dime qué error te da.