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 752 Tempos em 472 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. The Following User Says Thank You to jssuser For This Useful Post:

    Não registrado (1 )

+ 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