This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Acuserve load bitmap and dll

Hello!

I need help for load bitmap and DLL for acuserver. See my configuration:

1-Config

CODE_PREFIX @192.168.0.222:F:\IMP\ACUSERVE\PDV\OBJ;@192.168.0.222:F:\IMP\ACUSERVE\PDV\OBJF;@192.168.0.222:F:\IMP\ACUSERVE\PDV\OBJC;.
FILE_PREFIX @192.168.0.222:F:\IMP\ACUSERVE\PDV\DADOS;@192.168.0.222:F:\IMP\ACUSERVE\PDV\DADOSR;@192.168.0.222:F:\IMP\ACUSERVE\PDV\DADOSP

|for load image and DLL  (not working)

IMAGE_PREFIX @192.168.0.222:F:\IMP\ACUSERVE\PDV\IMG
DLL_PREFIX @192.168.0.222:F:\IMP\ACUSERVE\PDV\DLL

to solve I mapped the network, but is problematic!

IMAGE_PREFIX I:\ACUSERVE\PDV\IMG
DLL_PREFIX I:\ACUSERVE\PDV\DLL

2-Load image 

ACCEPT WEXT-IMG-PREFIX FROM ENVIRONMENT "IMAGE_PREFIX".
|CARREGAMENTO DA IMAGEM
INITIALIZE WX100
STRING WEXT-IMG-PREFIX DELIMITED BY SPACES
'\LOGOEMP.JPG' DELIMITED BY SIZE
INTO WX100
END-STRING
CALL "W$BITMAP" USING WBITMAP-LOAD,
WX100 GIVING LOGO-JPG
END-CALL

3-load DLL

ACCEPT WEXT-DLL-PREFIX FROM ENVIRONMENT "DLL_PREFIX".
SET ENVIRONMENT "DLL-CONVENTION" TO "1".

INITIALIZE WPATH-DLL.
STRING WEXT-DLL-PREFIX DELIMITED BY ' '
"\RPSIMPX.dll" DELIMITED BY SIZE INTO
WPATH-DLL.
CALL WPATH-DLL
ON OVERFLOW DISPLAY MESSAGE 'ERRO LOAD RPSIMPX.DLL'
EXIT PARAGRAPH
END-CALL.

I demonstrated how the CBLCONFI is configured. Note that IMAGE_PREFIX and DLL_PREFIX tried to use the same logic as CODE_PREFIX and FILE_PREFIX. However to no avail. When used through network mapping and not through the acuserve directive it works, however it would need the network mapping and if it were to be used with an external IP there would be no way to map as it would not be using the local network.
I couldn't find documentation regarding loading images and dll for acuserve. I would like to know what is the correct way to carry out both the loading of dlls and images for clients that use terminals through acuserve.
thanks

  • Suggested Answer

    0  

    Good morning, Mr.  .

    IMAGE_PREFIX and DLL_PREFIX are not native ACU variables.

    For this reason AcuServer does not recognize them.

    If you need to include your images into your compiled objects, so that they're always available without having to copy them to the clients, use the COPY RESOURCE statement, before calling W$BITMAP.

    More info at: https://www.microfocus.com/documentation/extend-acucobol/1041/extend-interoperability-suite/BKPPPPLIBRS179.html

    To load DLL's, please have a look at the Loading DLLs with Configuration Variables documentation here:
    https://www.microfocus.com/documentation/extend-acucobol/1041/extend-interoperability-suite/BKITITWINDS013.html

    Looking forwrd for your feedback.

    Claudio Contardi

    Lead Technical Support Specialist
    Rocket Software, Italia
    RocketSoftware.com
    linkedin.com/rocket-software

  • 0 in reply to   

    Good morning Mr. Claudio Contardi. Thanks for answering.


    I understand DLL_PREFIX and IMAGE_PREFIX are not native. I already use objects with COPY RESOURCE and it works. The problem is when the image is dynamic, when I have to modify it at runtime. I looked at the links you sent me, the following excerpt caught my attention: "Note: When you are running in a thin client environment, and a file name beginning with @[DISPLAY] is passed to this routine, it will attempt to access the file in the display host's file system. It does not download the file from the server. For more information, refer to the topic Using Library Routines and DLLs in Thin Client, in the AcuConnect User's Guide".
    But it's for AcuConnect it didn't work for Acuserve. COPY RESOURCE solves for objects with fixed images, however imagine a product catalog where the user loads the image dynamically. Is there any solution for this case?

    Rogerio Colvero

  • Suggested Answer

    0   in reply to 

    Well, exactly. "It does not download the file from the server."

    I think the best way to load DLLs in an AcuServer environment is to deploy them with the ACU installation (which occurs on the client machines), and then load them using the -y option of the runtime, as reported in the Note section at the bottom of the mentioned Documentation page. 

    I see no way to save them on the server, and then download the DLLs via AcuServer.

     

    Claudio Contardi

    Lead Technical Support Specialist
    Rocket Software, Italia
    RocketSoftware.com
    linkedin.com/rocket-software