Duvida Function External

Discussão em 'Progress 4GL' iniciado por lwazevedo, Dezembro 5, 2014.

  1. lwazevedo

    lwazevedo Membro Ativo

    Olá pessoal.

    Sabem me dizer se tem como executar uma function external.

    queria saber se tem como fazer o código abaixo com function.

    PROCEDURE yyyyy EXTERNAL {&cProgDll} STDCALL PERSISTENT:

    end procedure.

    obrigado.
  2. Eilleen

    Eilleen Membro Ativo

    Boa noite,

    O atributo EXTERNAL ainda é exclusivo de procedures. :(

    Ainda não descobri uma forma de executar functions de forma persistente. Tenho functions em programas persistentes, mas somente usando a partir de procedures do próprio programa, chamada externa "necas de pitibiriba".. Se alguém souber como fazer, eu gostaria muito de saber também! ;)
  3. lwazevedo

    lwazevedo Membro Ativo

  4. renato.schlogel

    renato.schlogel Membro Participativo

    Bom Tarde!

    Olha, eu uso a persistencia da seguinte forma:

    Crio o programa a persistir:

    programa.p.

    codigo:

    function minhaFuncao return log().
    b-1:
    do on error undo b-1, leave b-1.

    return yes.
    end.
    message 'Ocorreu um erro'.
    readkey pause 9.
    undo, return error.
    End Function.

    Procedure meuProcedimento.
    b-1:
    do on error undo b-1, leave b-1.

    return 'meuProcedimento_ok'.
    end.
    message 'Ocorreu um erro'.
    readkey pause 9.
    undo, return error.
    End Procedure.


    Programa principal:

    /*definindo o ponteiro*/
    def var vl-persist as handle.

    /*iniciando o ponteiro com o programa a persistir*/
    run programa.p persistent set vl-persist.

    /* chamando a funcao com persistencia */
    dynamic-function('minhaFuncao' in vl-persist)

    /* cahmando o procedimento com persistencia */
    run meuProcedimento in vl-persist.


    Espero ter ajudado.
    rafael.andrade e Eilleen curtiram isso.
  5. Eilleen

    Eilleen Membro Ativo

    Legal, Renato! Vou testar! :D
    renato.schlogel curtiu isso.
  6. renato.schlogel

    renato.schlogel Membro Participativo

    Legal

Compartilhe esta Página