0
Amigos, no encuentro ningún modo de obtener la dirección de una función para pasarla por un POINTER.
En los manuales de PowerCOBOL 3, viene PROCEDURE-POINTER como palabra reservada, pero no compila con ello. Pero ese problema lo tengo resuelto simplemente definiendo el puntero como POINTER y pasándolo a las funciones de WinAPI funciona perfectamente (en realidad viene a ser el mismo DWORD de 4 bytes).
En PowerCOBOL 9 existe un modo de hacerlo con la sintaxis adaptada de MicroFocus:
COBOL Código:
WORKING-STORAGE SECTION. 01 WS-PTR PROCEDURE-POINTER. PROCEDURE DIVISION. SET WS-PTR TO ENTRY "MiPrograma"
Pero esta sintaxis no funciona en PowerCOBOL 3...
Para poder usar la API GetProcAddress la función debe estar en una DLL y definida como exportada (dllexport). Pero esto no me sirve, al menos, incluso si es posible, me complicaría muchísimo las cosas.
¿Alguna idea de cómo podría obtener esa dirección de una función codificada en la "PROCEDURE" de un SHEET? Es que con todas las posibilidades que tiene el Power 3, debe haber un modo de hacerlo.
Marcadores