NetExpress convert to Visual Studio

Good morning, I am again with this old problem, I need to convert this program done in Net EXpress to Visual Cobol, noting que the program works Correctly in NetExpress but in Visual Cobol can not load the DLL. The dll this installed in windows \ system32 folder. Thank you.

Parents
  •      $set mfoo

          class-id. ECF.

          environment division.

          input-output section.

         *

          object section.

          class-control.

              Util                    is class "Util"

              .

          special-names.

              call-convention 2 is DSDLL.

         *>----------------------------------------------------------------

          data division.

          file section.

         *

          working-storage section. *> Definition of global data

          77  cmdstatus               pic s9 comp-5.

          77  cmdstatus-r             pic s9.

         *Crio um ponteiro

         *-----variaveis do ecf --------

         *variavel utilizada para carregar a DLL na memoria

          01  SAT-Tanca               usage is procedure-pointer.

         *>----------------------------------------------------------------

          class-object.   *> Definition of class data and methods

         *>----------------------------------------------------------------

          object-storage section.

         *>----------------------------------------------------------------

         *> Poe Nulo no final

         *>----------------------------------------------------------------

          method-id. "PoeNulo".

          01  i                   Pic X(4) comp-5.

          01  j                   Pic X(4) comp-5.

          linkage section.

          77  zSTR                pic x(256).

          procedure division using zSTR. *> by value i.

              MOVE LENGTH OF zStr         TO j

              perform varying i from j by -1 until i = 0

                     if zSTR(i:1) not = space and x"0"

                        add 1                 to i

                        move x"0"             to zSTR(i:1)

                        exit method

                     end-if

              end-perform.

              exit method.

          end method "PoeNulo".

         *>----------------------------------------------------------------

         *>----------------------------------------------------------------

         *>             I N I C I O    D A S    R O T I N A S

         *>                       SAT-CFe

         *>----------------------------------------------------------------

         *>----------------------------------------------------------------

          method-id. "SATEnviarCFe".

          local-storage section.

          01  WS-NRO-OFI                  pic x(006).

          01  RZ-INFADCONTRIB             pic x(008).

          01  retorno                     pic x(008).

          01  codigoDeAtivacao            pic x(009).

          01 DataBlock-Pointer            usage pointer.

          01 w-campos-ret.

              03 w-campo1                 pic x(256).

              03 w-campo2                 pic x(256).

              03 w-campo3                 pic x(256).

              03 w-campo4                 pic x(256).

              03 w-campo5                 pic x(256).

              03 w-campo6                 pic x(256).

          linkage section.

          01 lnk-datahoraimp.

              03 lnk-dataimp          pic x(006).

              03 lnk-horaimp          pic x(006).

          01  lnk-erro.

              02 lnk-fs                   pic x(002).

              02 lnk-mensagem             pic x(040).

          01 VDA-DATA-BLOCK.

                05 VDA-IO-TEXT-BUFFER2          PIC X(256).

          procedure division.

          *>Seto essa variável para cada um dos sat.

              set SAT-Tanca           to entry "SAT.dll".

              move "000001"           to ws-nro-ofi

              move z"12345678"         to rz-infadcontrib codigoDeAtivacao

              CALL DSDLL "ConsultarStatusOperacional" using

                                            ws-Nro-ofi

                                            by reference codigoDeAtivacao

                                   returning DataBlock-Pointer

          *>Ai pego o retorno

              set address of VDA-DATA-BLOCK to DataBlock-Pointer

              perform trata-retorno

              move spaces to VDA-IO-TEXT-BUFFER2

              exit method.

          processos-ok.

              CALL DSDLL "ConsultarSAT" using WS-Nro-ofi

                                   returning DataBlock-Pointer

              set address of VDA-DATA-BLOCK to DataBlock-Pointer

              perform trata-retorno

              move spaces to VDA-IO-TEXT-BUFFER2

              CANCEL "ConsultarSAT"

              exit method.

          trata-retorno.

              unstring VDA-IO-TEXT-BUFFER2

                                       delimited by "|" into w-campo1

                                                             w-campo2

                                                             w-campo3

                                                             w-campo4

                                                             w-campo5

                                                             w-campo6

          end method "SATEnviarCFe".

          end class-object.

Reply
  •      $set mfoo

          class-id. ECF.

          environment division.

          input-output section.

         *

          object section.

          class-control.

              Util                    is class "Util"

              .

          special-names.

              call-convention 2 is DSDLL.

         *>----------------------------------------------------------------

          data division.

          file section.

         *

          working-storage section. *> Definition of global data

          77  cmdstatus               pic s9 comp-5.

          77  cmdstatus-r             pic s9.

         *Crio um ponteiro

         *-----variaveis do ecf --------

         *variavel utilizada para carregar a DLL na memoria

          01  SAT-Tanca               usage is procedure-pointer.

         *>----------------------------------------------------------------

          class-object.   *> Definition of class data and methods

         *>----------------------------------------------------------------

          object-storage section.

         *>----------------------------------------------------------------

         *> Poe Nulo no final

         *>----------------------------------------------------------------

          method-id. "PoeNulo".

          01  i                   Pic X(4) comp-5.

          01  j                   Pic X(4) comp-5.

          linkage section.

          77  zSTR                pic x(256).

          procedure division using zSTR. *> by value i.

              MOVE LENGTH OF zStr         TO j

              perform varying i from j by -1 until i = 0

                     if zSTR(i:1) not = space and x"0"

                        add 1                 to i

                        move x"0"             to zSTR(i:1)

                        exit method

                     end-if

              end-perform.

              exit method.

          end method "PoeNulo".

         *>----------------------------------------------------------------

         *>----------------------------------------------------------------

         *>             I N I C I O    D A S    R O T I N A S

         *>                       SAT-CFe

         *>----------------------------------------------------------------

         *>----------------------------------------------------------------

          method-id. "SATEnviarCFe".

          local-storage section.

          01  WS-NRO-OFI                  pic x(006).

          01  RZ-INFADCONTRIB             pic x(008).

          01  retorno                     pic x(008).

          01  codigoDeAtivacao            pic x(009).

          01 DataBlock-Pointer            usage pointer.

          01 w-campos-ret.

              03 w-campo1                 pic x(256).

              03 w-campo2                 pic x(256).

              03 w-campo3                 pic x(256).

              03 w-campo4                 pic x(256).

              03 w-campo5                 pic x(256).

              03 w-campo6                 pic x(256).

          linkage section.

          01 lnk-datahoraimp.

              03 lnk-dataimp          pic x(006).

              03 lnk-horaimp          pic x(006).

          01  lnk-erro.

              02 lnk-fs                   pic x(002).

              02 lnk-mensagem             pic x(040).

          01 VDA-DATA-BLOCK.

                05 VDA-IO-TEXT-BUFFER2          PIC X(256).

          procedure division.

          *>Seto essa variável para cada um dos sat.

              set SAT-Tanca           to entry "SAT.dll".

              move "000001"           to ws-nro-ofi

              move z"12345678"         to rz-infadcontrib codigoDeAtivacao

              CALL DSDLL "ConsultarStatusOperacional" using

                                            ws-Nro-ofi

                                            by reference codigoDeAtivacao

                                   returning DataBlock-Pointer

          *>Ai pego o retorno

              set address of VDA-DATA-BLOCK to DataBlock-Pointer

              perform trata-retorno

              move spaces to VDA-IO-TEXT-BUFFER2

              exit method.

          processos-ok.

              CALL DSDLL "ConsultarSAT" using WS-Nro-ofi

                                   returning DataBlock-Pointer

              set address of VDA-DATA-BLOCK to DataBlock-Pointer

              perform trata-retorno

              move spaces to VDA-IO-TEXT-BUFFER2

              CANCEL "ConsultarSAT"

              exit method.

          trata-retorno.

              unstring VDA-IO-TEXT-BUFFER2

                                       delimited by "|" into w-campo1

                                                             w-campo2

                                                             w-campo3

                                                             w-campo4

                                                             w-campo5

                                                             w-campo6

          end method "SATEnviarCFe".

          end class-object.

Children
No Data