Ver Mensaje Individual
  #10
Antiguo 10 de noviembre de 2024, 16:57
Kuk
Administrador
Última Actividad 21.09.2026 18:24
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@Joseg, he encontrado otra manera de hacerlo funcionar sin pasar por PROCEDURE-POINTER, lo cual me hace suponer que funcionaría incluso en PowerCOBOL v3 (que no tiene PROCEDURE-POINTER):

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  pid         pic s9(9) comp-5.
  5.  01  hModule     pic s9(9) comp-5.
  6.  01  pAddress    pic s9(9) comp-5.
  7.  
  8.  PROCEDURE       DIVISION.
  9.  
  10.      move pow-numeric of CmText1 to pid
  11.          
  12.      call "GetModuleHandleA" with stdcall using by value h"00" returning hModule
  13.          
  14.      call "GetProcAddress" with stdcall using by value hModule
  15.                                               by content "_EnumWindowsProc@8" & x"00"
  16.                                               returning pAddress
  17.      
  18.      call "EnumWindows" with stdcall using by value pAddress
  19.                                            by value pid

Funciona perfectamente, lo que pasa es que aquí uso WinAPI para obtener la dirección de la función.

A ver si un día lo pruebo en PowerCOBOL v3, debería funcionar, salvo que haya algún imprevisto.



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