Ver Mensaje Individual
  #19
Antiguo 13 de noviembre de 2024, 19:07
Kuk
Administrador
Última Actividad 03.10.2026 00:00
Posts Posts: 2.500
Likes enviados Enviados: 1038
Likes recibidos Recibidos: 1207

@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:
  1.  WORKING-STORAGE SECTION.  
  2.  01  nCMIMAGE1 IS EXTERNAL PIC S9(9) COMP-5.
  3.  ...
  4.  PROCEDURE       DIVISION.
  5.      ...
  6.      move CmImage1 to nCMIMAGE1

En "MyWndProc" añades esto en la Working:

Código COBOL:
  1. *>-------------------
  2.  01 POW-0000 PIC S9(18) COMP-5.
  3.  01 POW-0001 PIC S9(9) COMP-5.
  4.  01 POW-0002 PIC S9(9) COMP-5.
  5.  01 POW-0003 PIC S9(9) COMP-5.
  6.  01 POW-0004 PIC S9(9) COMP-5.
  7.  01 POW-0005 PIC S9(9) COMP-5.
  8.  01 POW-0006 PIC X(8192).
  9.  01 POW-0007 PIC S9(9) COMP-5.
  10.  
  11.  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:
  1.      ...
  2.      IF  MSG = WM_DROPFILES
  3.          call "DragQueryFileA" with stdcall using by value WPARAM
  4.                                                   by value 0
  5.                                                   by reference dropFileName
  6.                                                   by reference fileSize
  7.        
  8.          *> display "Fichero: " dropFileName
  9.         *>-------------
  10.          MOVE 117440513 TO POW-0000
  11.          MOVE 4 TO POW-0001
  12.          MOVE 0 TO POW-0002
  13.          MOVE 0 TO POW-0003
  14.          MOVE 0 TO POW-0004
  15.          MOVE 1 TO POW-0005
  16.          MOVE dropFileName TO POW-0006
  17.          MOVE 33636360 TO POW-0007
  18.          CALL "XPOW_INVOKE_BY_ID_2" USING VALUE nCMIMAGE1 REFERENCE POW-0000
  19.          VALUE POW-0001 POW-0002 POW-0003 POW-0004 POW-0005 POW-0007
  20.          REFERENCE POW-0006 END-CALL
  21.         *>-------------                                              
  22.      END-IF
  23.      ...

Rebuild ALL y ejecuta, a ver si funciona. Si no funciona, dime qué error te da.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita