Josber, joe una cosa muy rara macho...
Lo de que no esté en el evento "Opened", no tiene nada que ver. Todo lo que esté LINK-eado (las *.LIB) en el ejecutable, se hace un scan antes de la ejecución si todos los módulos son encontrados. Es decir, las dependencias con las DLL LINK-eadas vía una LIB son comprobadas antes de ejecutar el programa, si no encuentra alguna, pues falla.
Entonces si comentas la línea de la llamada todo va bien?
Intenta hacerlos sin la LIB, o sea, vía fichero COBOL85.CBR:
Código:
[P-MENSAJE.Entry]
KCRYPT=KCRYPT.dll
Y haz la llamada DINÁMICA, de la siguiente manera:
Código COBOL:
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
*> LINKAGE DE LLAMADA
01 LNK-KCRYPT. *> E - encripta, D - decripta
05 LNK-OPCION PIC X. *> Modo de llamada E/D
05 LNK-TEXTO PIC X(50).
05 LNK-ENCRIPT PIC X(50).
01 KCRYPT PIC X(6) VALUE "KCRYPT".
PROCEDURE DIVISION.
*> EJEMPLOS
*> Encripta:
MOVE "E" TO LNK-OPCION
MOVE "ABCDEFGHIJ012345678912345" &
"ABCDEFGHIJ012345678912345" TO LNK-TEXTO
CALL KCRYPT USING LNK-KCRYPT
MOVE LNK-ENCRIPT TO POW-TEXT OF CmText1
*> Decripta:
MOVE "D" TO LNK-OPCION
MOVE POW-TEXT OF CmText1 TO LNK-ENCRIPT
CALL KCRYPT USING LNK-KCRYPT
MOVE LNK-TEXTO TO POW-TEXT OF CmText2