photo
+ Responder ao Tópico
Resultados de 1 a 1 de 1

Thread: Descrição de Funções Externas

  1. #1 Fechar a publicação
    Senior Member jssuser's Avatar jssuser's Avatar
    Data de afiliação
    Aug 2018
    Postagens
    1,503
    Obrigado
    209
    Agradecimentos 1,579 Tempos em 856 Postagens
    AssinarAssinar
    subscritar: 0

    Descrição de Funções Externas

    Descrição de Funções Externas
    As funções externas definidas em outro módulo devem ser explicitamente descritas. A descrição inclui o tipo retornado, o nome da função e uma série dos parâmetros de entrada com os seus tipos. A ausência de tal descrição pode levar a erros ao compilar, construir e executar um programa. Ao descrever um objeto externo, use a palavra-chave #import indicando o módulo.

    Exemplos:

    #import "user32.dll"
    int MessageBoxW(int hWnd ,string szText,string szCaption,int nType);
    int SendMessageW(int hWnd,int Msg,int wParam,int lParam);
    #import "lib.ex5"
    double round(double value);
    #import

    Com a ajuda do import, é fácil descrever funções que são chamadas de DLL externas ou de bibliotecas (libraries) EX5 compiladas. Bibliotecas (libraries) EX5 são arquivos ex5 compilados, que têm a propriedade library. Somente funções descritas com o modificador export pode ser importadas de bibliotecas (libraries) EX5.

    Lembre-se de que as bibliotecas DLL e EX5 devem ter nomes diferentes (independentemente dos diretórios em que estão localizados) se forem importados juntos. Todas as funções importadas têm a resolução de escopo correspondente à biblioteca "file name".

    Exemplo:

    #import "kernel32.dll"
    int GetLastError();
    #import "lib.ex5"
    int GetLastError();
    #import

    class CFoo
    {
    public:
    int GetLastError() { return(12345); }
    void func()
    {
    Print(GetLastError()); // Chamada do método de classe
    Print(::GetLastError()); // chamar a função MQL5
    Print(kernel32::GetLastError()); // Chamada da função de biblioteca DLL a partir do kernel32.dll
    Print(lib::GetLastError()); // Chamada da função da biblioteca EX5 lib.ex5
    }
    };

    void OnStart()
    {
    CFoo foo;
    foo.func();
    }

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


  2. Os seguintes 2 Usuários Dizem Obrigado o a jssuser por este post útil:

    Não registrado (2 )

+ Responder ao Tópico

Permissões de postagens

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts