Tuesday 9 May 2017

Forexconnect Api Documentation


Provedores de nuvem de amplificação de tecnologia de Forex Precisa implementar taxas e informações da conta e a capacidade de enviar ou modificar pedidos Para um uso mais técnico da API, oferecemos opções para um nível superior de tecnologia. Nossas APIs para fornecedores de tecnologia e nuvem fornecem baixa largura de banda, puxando arquitetura, sem mínimos de conta, uma ampla gama de pedidos comerciais e acesso a dados históricos de forex e CFD. Forexconnect API ForexConnect é o nosso API8212 mais flexível, usado pelas plataformas NinjaTrader e Mirror Trader. O ForexConnect é compatível com. Net, Linux, Mac, iOS e Android. Código em 30 funções e recursos diferentes Utilize estruturas de mensagens de baixo nível ou estruturas de tabela com campos calculados Conecte-se ao MATLAB para executar a análise avançada sobre os dados de preços Começando Já tenha uma conta FXCM Download Forexconnect SDK Uma conta FXCM, incluindo conta de prática gratuita8212no balanço mínimo necessário Um IDE ou editor de texto que executa LUA (ie Visual Studio) Precisa de mais informações Visite o ForexConnect Wiki para ler nossos guias para Java. NET e C e veja exemplos de fragmentos de código complexos para ações como Comandos de Batch e Grupos de Contingência. Olhando para criar um cliente ou aplicativo do lado do servidor, o Java é uma API escalável, leve e robusta, baseada na especificação FIX para forex e personalizada para negociação com a FXCM. Compatível com qualquer sistema operacional compatível com Java Leve e com base em mensagens FIX Capaz de obter trades históricos e taxas Começando Já possui uma conta FXCM Download Java SDK Uma conta FXCM, incluindo conta de prática gratuita8212no balanço mínimo necessário IDE (ie Netbeans, Eclipse) Veja o código de exemplo e veja a documentação sobre a página GitHub da API Java do FXCMs. Como começar a usar a API do ForexConnect. NET (Win32Win64) Este artigo descreve como começar a usar a API do ForexConnect. NET. Aqui, você pode encontrar os princípios básicos da API explicados e instruções passo a passo sobre a criação de uma amostra de trabalho de um aplicativo comercial simples. Plataforma. Microsoft. NET Framework 2.0 e versões posteriores em MS Windows linguagem de versão de 32 bits de 64 bits. C. NET IDE. Microsoft Visual Studio 2005, 2008, 2010 O uso da biblioteca do ForexConnect. NET com a estrutura do aplicativo Microsoft Silverlight não é suportado. A biblioteca do ForexConnect. NET que está sendo executada usando o Mono não é suportada. Obtendo e instalando bibliotecas da API ForexConnect Baixe a última versão da ForexConnect API: Se você possui uma versão de 32 bits do Microsoft Windows, baixe a versão de 32 bits da ForexConnect API. Se você possui uma versão de 64 bits do Microsoft Windows, baixe a compilação de 64 bits da ForexConnect API. Consulte a caixa de diálogo Propriedades do sistema para obter informações sobre a versão do seu sistema. Note que, se o seu sistema for o Windows XP e você não verá a edição x64 listada na caixa de diálogo Propriedades do sistema, você está executando uma versão de 32 bits do Windows XP. Inicie o instalador e siga as instruções do assistente de configuração. Além disso, vamos supor que a API do ForexConnect esteja instalada em C: Arquivos de ProgramasCandleworksForexConnectAPI. Usando a API do ForexConnect com o Microsoft Visual Studio Você deve fazer as seguintes alterações em seu projeto C: 1. Configure o evento pós-compilação do seu projeto para copiar bibliotecas da API ForexConnect e Suportando arquivos na pasta onde o seu programa foi criado: no projeto Propriedades rarr Build Events rarr Post-Build linha de comando do evento, adicione o seguinte texto: copie C: Program FilesCandleworksForexConnectAPIbin. (TargetDir) 2. Adicione uma referência ao assembly fxcore2.dll. NET ao seu projeto. Se você usar o. NET 4.0, use o assembly. NET fxcore2.dll apropriado que pode ser encontrado na pasta C: Program FilesCandleworksForexConnectAPIbinnetdotnet40. Se você usa o. NET 2.0, use a montagem fxcore2.dll da pasta C: Program FilesCandleworksForexConnectAPIbinnetdotnet20. 3. Adicione o namespace fxcore2 ao seu código: Distribuição Você deve distribuir seu programa com todas as bibliotecas binárias e arquivos de suporte de C: Program FilesCandleworksForexConnectAPIbin. As bibliotecas ForexConnect e os arquivos de suporte devem estar localizados na pasta onde seu aplicativo está instalado. Observe que a montagem fxcore2.dll deve ser colocada na pasta onde seu aplicativo também está instalado. Recursos da API do ForexConnect. NET Arquitetura dirigida por eventos Todas as APIs utilizadas pelo ForexConnect são assíncronas, então você terá que implementar uma arquitetura baseada em eventos em seu código. Uma arquitetura baseada em eventos é um padrão de arquitetura de software que gerencia o comportamento de produção, detecção e consumo de eventos, bem como as respostas que eles evocam. Neste contexto, um evento deve ser tratado como algum valor ou mensagem que pode ser identificado dentro de um fluxo contínuo de entradas monitoradas, como condições específicas ou sinais ou qualquer outra coisa. As arquiteturas baseadas em eventos geralmente consistem em produtores de eventos e consumidores de eventos. Os consumidores de eventos se inscrevem em algum gerente de eventos e os produtores de eventos publicam esse gerente. Quando o gerente recebe um evento de um produtor, ele encaminha esse evento para todos os consumidores registrados ou armazena o evento para reencaminhamento posterior. Um manipulador de eventos é uma rotina de retorno de chamada que funciona de forma assíncrona e manipula entradas recebidas em um programa (eventos). Neste contexto, um evento é um elemento significativo de informações de aplicativos de uma estrutura de desenvolvimento subjacente, geralmente a partir de um conjunto de ferramentas gráficas de interface de usuário (GUI) ou algum tipo de rotina de entrada. No lado da GUI, por exemplo, os eventos incluem traços de teclas, atividade do mouse, seleções de ação ou expirações de temporização. No lado da entrada, os eventos incluem abrir ou fechar arquivos e fluxos de dados, ler dados e assim por diante. O manuseio de eventos é o recebimento de um evento em algum manipulador de eventos de um produtor de eventos e processos subsequentes. Os processos envolvidos no tratamento de eventos incluem: Identificar onde um evento deve ser reencaminhado Realizar a frente Recebendo o evento encaminhado Tomando algum tipo de ação apropriada em resposta, como escrever para um registro, enviar um erro ou rotina de recuperação ou enviar uma mensagem O evento O manipulador pode, em última instância, enviar o evento para um consumidor de eventos. O benefício das arquiteturas baseadas em eventos é que eles permitem coleções arbitrariamente grandes de consumidores e produtores, juntamente com alguns gerentes, para trocar status contínuo e informações de resposta. Eles também são geralmente bastante receptivos aos eventos que ocorrem e funcionam bem em ambientes de comunicação imprevisíveis e assíncronos. ForexConnect. NET Event Handling Peculiarities A ForexConnect. NET API já possui implementações das interfaces IO2GSessionStatus e IO2GResponseListener para receber notificações de mudanças no status da sessão e recebimento de dados. Então, você pode usar os eventos. NET apropriados do objeto O2GSession em vez de implementar essas interfaces sozinho. No entanto, você pode implementá-los e usá-los para receber notificações do objeto da sessão após a assinatura se isso for mais adequado para você. Observe que todos os manipuladores de eventos que você implementou para eventos O2GSession são chamados em um segmento separado. Portanto, você deve ter em mente o seguinte: Você sempre deve fornecer acesso seguro a thread para todos os dados armazenados em seu aplicativo, que é atualizado de seus manipuladores de eventos. Você não precisa sincronizar chamadas de manipuladores de eventos e não precisa pensar sobre a reentrada do manipulador de eventos porque todos os eventos da API já estão sincronizados em um segmento. Portanto, os manipuladores de eventos são chamados em sequência. Você deve lidar com cada evento o mais rápido possível porque eles estão sincronizados no thread manipuladores pela biblioteca ForexConnect. Você pode executar seus próprios tópicos para acelerar o gerenciamento de eventos. Gerenciamento de vida do objeto Você não precisa de nenhum gerenciamento de recursos adicional para objetos obtidos usando a API do ForexConnect. NET. No entanto, é recomendável chamar o método Dispose () para todos os objetos obtidos que o implementam. Essas chamadas permitem que você libere recursos do sistema não utilizados de forma mais eficaz. Você pode usar a instrução using para este propósito: Exemplo de Aplicativo Usando o ForexConnect. NET API Este exemplo é um aplicativo de console simples que usa a API do ForexConnect. NET. Esta aplicação tem os seguintes recursos: Conexão a um servidor comercial usando as credenciais de usuário predefinidas Recuperando preços para EURUSD Recuperando a tabela de contas para o usuário Criando um pedido de mercado aberto para EURUSD quando você insere b (compra) ou s (venda) Recuperando pedidos Tabela e recebimento de notificações de atualizações nesta tabela Finalizando a execução do aplicativo quando você entra q (sair) Para simplificar a amostra, toda a lógica do aplicativo é implementada em uma classe MyApp. Você pode baixar o código-fonte completo da amostra: Arquivo: ForexConnect Sample Net. zip Conexão com o Trade Server O objeto principal da ForexConnect. NET API é um objeto de sessão O2GSession no namespace fxcore2. Este objeto representa uma sessão de conexão de usuários e pode ser criado usando um método estático da classe O2GTransport: O objeto O2GSession notifica os assinantes de todas as alterações do estado da conexão através dos seguintes eventos: ou através da interface de retorno de chamada IO2GSessionStatus. As notificações de recebimento de dados podem ser tratadas usando os seguintes eventos O2GSession: ou através da interface de retorno de chamada IO2GResponseListener. Para se conectar a um servidor de comércio usando a API do ForexConnect. NET, faça o seguinte: Crie um objeto de sessão. Implementar manipuladores para eventos de objeto de sessão para receber notificações de mudanças no status da sessão. Ligue para login () para a sessão e aguarde até que o processo de login seja concluído. Processe as notificações recebidas de alterações de status de conexão em onSessionStatusChanged para gerenciar o estado do processo de login. Consulte o seguinte código-fonte para obter detalhes sobre a implementação: observe que aguardamos uma notificação da conclusão de login porque a ligação ltcodegtlogin () é assíncrona. Para isso, usamos um sinal de sincronização especial. Quando onSessionStatusChanged é chamado, o sinal está configurado para retomar a execução do thread após mSyncSessionEvent. WaitOne (5000) no método run (). Login com a escolha da sessão de negociação Quando uma conta de usuário possui várias sessões de negociação, o login é um processo de etapas múltiplas: 1. Ligue para o método login () do objeto de sessão com um nome de usuário, senha, URL do servidor e nome do banco de dados especificado. 2. Processe o status recebido TradingSessionRequested no manipulador de eventos onSessionStatusChanged. Há seguintes etapas comuns para processar o status do TradingSessionRequested: 2.1. Recupere a lista da sessão de negociação do objeto O2GSession usando o método getTradingSessionDescriptors (). 2.2. Forneça uma escolha da sessão de negociação para o usuário. 2.3. Solicite um PIN secreto do usuário. 2.4. Defina a ID da sessão de negociação especificada e o PIN usando setTradingSession (). Mostrar fonte Gerenciando preços O gerenciamento de preços inclui as seguintes etapas: Verifique se há dados de preços solicitados automaticamente durante o login. Se sim, vá para a etapa 2. Se não, envie um pedido para os preços atuais de todos os instrumentos. Gerencie a resposta. Gerencie a atualização de preços para um determinado instrumento. Para receber notificações de respostas de solicitação ou alterações de estado de objetos do servidor, você deve implementar e subscrever manipuladores de eventos para os eventos apropriados da instância O2G2Session. Para isso, modifique a classe MyApp para lidar com esses eventos: Solicite preços atuais Dependendo das configurações do servidor de comércio, os preços atuais de todos os instrumentos podem ser recebidos automaticamente durante o processo de login ou você pode solicitar explicitamente esses dados do servidor de comércio . Então, para obter os preços atuais, você deve fazer as seguintes ações: 1. Verifique se existem ofertas de preços recebidas no login usando o método isTableLoadedByDefault () da instância O2GLoginRules. 2. Se eles estiverem carregados, obtenha o objeto de resposta de ofertas já recebidas usando o método getTableRefeshResponse (Ofertas) da instância O2GLoginRules. Este objeto de resposta pode ser processado para extrair dados de ofertas. Para obter leitor de ofertas para ler os dados de resposta, faça o seguinte: Obtenha a fábrica de leitores de resposta usando o método getResponseReaderFactory () da instância do objeto de sessão. Crie um leitor usando o método createOffersTableReader () da instância O2GResponseReaderFactory. 3. Se as ofertas não foram recebidas no login, envie um pedido para a tabela de ofertas explicitamente usando o método sendRequest () do objeto de sessão. Para criar a solicitação apropriada, faça o seguinte: Obter a fábrica da solicitação usando o método getRequestFactory () do objeto da sessão. Crie solicitação usando o método createRefreshTableRequest () da instância O2GRequestFactory. Para solicitar os preços atuais, adicione o seguinte código-fonte ao método run () do nosso exemplo após o processo de login: na amostra, aguardamos a recepção da resposta da solicitação usando um sinal de sincronização. Então, pegamos o momento de iniciar o monitoramento da mudança de preço para o EURUSD. Claro, devemos definir este sinal quando os dados do preço são recebidos. Na nossa amostra, um truque é usado para evitar a duplicação de código. Como você verá mais adiante, o processamento de resposta é o mesmo quando as informações de ofertas são recebidas do objeto O2GLoginRules e quando recuperamos explicitamente os dados das ofertas. Então, processe o objeto de resposta recebido de O2GLoginRules. Você pode chamar diretamente o manipulador de eventos implementado do evento RequestCompleted do objeto de sessão. Recebendo dados de preço Como uma chamada de sendRequest () é assíncrona, para receber uma resposta com dados de preço, você precisa implementar o manipulador de eventos para o evento RequestCompleted do objeto de sessão. Como este manipulador de eventos é usado para receber notificações de respostas de todos os pedidos, você deve fazer o seguinte: Verifique se o tipo de resposta é GetOffers. Obtenha o leitor de resposta O2GOffersTableResponseReader usando O2GResponseReaderFactory para obter dados de preço do objeto de resposta. Processe todas as linhas na tabela de Ofertas usando o leitor. Você deve fornecer acesso seguro ao thread para as ofertas armazenadas em seu aplicativo. Veja o código-fonte abaixo para uma amostra de como lidar com a recepção de uma resposta. Para armazenar os preços atuais do EURUSD, as variáveis ​​apropriadas são definidas e o acesso thread-safe a elas é implementado. Um sinal de sincronização é definido quando o recebimento de dados de ofertas é concluído. Este truque permite aguardar o recebimento dos preços atuais no segmento principal depois de enviar o pedido. Nossa aplicação de exemplo manipula o evento RequestComplete e extrai a oferta EURUSD e solicita o preço. Os preços de oferta e oferta recebidos são armazenados nas variáveis ​​de nível de classe mEURUSDBid e mEURUSDAsk, métodos de thread-safe para ler e alterar essas variáveis ​​são implementadas. Atualizações de ofertas de recebimento Tenha em atenção que a notificação é recebida em um segmento separado, portanto, você deve usar a leitura e atualização de thread-safe das variáveis ​​que armazenam os dados recebidos. Adicione o seguinte código ao MyApp para lidar com a atualização de preços do EURUSD: o processamento da atualização da tabela Ofertas inclui as seguintes etapas: 1. Obter O2GResponseReaderFactory do objeto da sessão. 2. Obter um leitor O2GTablesUpdatesReader usando a fábrica através do método createTablesUpdatesReader. 3. Faça um loop para enumerar cada elemento da lista de atualizações porque os dados recebidos podem conter atualizações para qualquer tipo de objetos, não apenas para a tabela de Ofertas. Então, você precisa verificar cada item na lista de atualizações para o tipo de tabela e o tipo de operação de atualização necessários. 4. Para processar a alteração, use o método getOfferRow () do leitor para recuperar um objeto do tipo O2GOfferRow: Observe que a notificação é recebida em um segmento separado, portanto, você deve usar a leitura e atualização de thread das variáveis ​​que Armazene os dados recebidos. Adicione o seguinte código ao MyClass para lidar com a atualização de preços do EURUSD: em nossa amostra, processamos apenas atualizações de preços EURUSD e armazenamos seus últimos valores nas variáveis ​​mEURUSDBid e mEURUSDAsk. Implementamos métodos seguros para acessar essas variáveis. Criação de ordem Para criar um pedido, faça o seguinte: 1. Certifique-se de que você tenha pelo menos uma ID de conta de usuário e uma ID de oferta necessárias para criar um pedido. Caso contrário, solicite-os no início. 2. Use uma instância O2GRequestFactory para criar O2GValueMap para especificar os parâmetros da ordem. 3. Preencha o valor com os parâmetros necessários para criar um tipo específico de ordem. Consulte o SDK ForexConnectAPI para obter detalhes sobre os parâmetros dos comandos para criar pedidos. 4. Crie um objeto O2GRequest usando O2GRequestFactory para o valor valorizado preenchido. 5. Inicie a execução do pedido. 6. Receba a resposta do pedido para garantir que a execução da solicitação seja bem-sucedida. Como precisamos de uma ID de conta para a nossa amostra, vamos recuperar a tabela de contas em primeiro lugar. A recuperação de dados da tabela de Contas é semelhante à recuperação de dados da tabela de Ofertas. Para simplificar a amostra, obtenha a primeira conta da lista de conta de usuário e guarde-a em uma variável de nível de classe para uso posterior. Esperamos a resposta para evitar a criação do pedido antes que o ID da conta seja recuperado. A melhor prática é o encapsulamento da lógica de criação de ordens em um método separado da classe MyApp. Além disso, você deve lidar com a resposta ao pedido de criação de pedidos no manipulador de eventos onRequestCompleted para se certificar de que a ordem foi criada. Consulte o seguinte código-fonte que cria uma ordem de compra ou venda para o instrumento EURUSD com um valor de 100K: Observe que existem algumas classes auxiliares úteis no espaço de nome fxcore2.Constants para preencher o objeto valueMap com parâmetros de ordem: você pode manter o ID do pedido para Processar resposta de um pedido específico apenas: Tabela de Recuperação de Pedidos Todas as informações sobre estados de pedidos existentes podem ser recuperadas da tabela Pedidos. A API ForexConnect permite recuperar a tabela Pedidos somente para uma conta especificada. Então, você precisa fazer o seguinte: Recuperar a tabela Contas. Aguarde até receber dados de contas. Recupere a tabela Encomendas para cada conta recebida usando createRefreshTableRequestByAccount () da instância O2GRequestFactory. Gerencie a resposta do pedido em um manipulador de eventos do evento RequestComplete. Gerencie a atualização da tabela Pedidos em um manipulador de eventos do evento TablesUpdates. Para simplificar a nossa amostra, levamos a identificação da conta armazenada e usamos no exemplo da recuperação da tabela de pedidos. Observe que, se você armazenar dados de pedidos, você deve fornecer acesso seguro a esses dados e gerenciar corretamente os contadores de referência para os objetos armazenados. Na nossa amostra, os dados das ordens não são armazenados, portanto a sincronização não é implementada. Finalização do aplicativo. Sair Como você pode ver, o método stop () da nossa classe MyApp liberta todos os recursos do sistema usados ​​e desabaixa todos os manipuladores de eventos dos eventos da sessão para parar de receber notificações. Você deve ligar para sair () antes do término do seu aplicativo. Além disso, você deve chamar o método Dispose () da instância da sessão antes que o controle tmain () retorna. Manipulação de erros de solicitação Quando ocorre um erro durante a execução assíncrona de uma solicitação, o manipulador de eventos do evento RequestFailed é invocado. Na nossa amostra, lemos o erro colocando a descrição do erro na saída do console e parando o aplicativo: Lançando o exemplo. Agora, nosso exemplo pode fazer login, recuperar as mudanças de preços do EURUSD, mostrar informações sobre ordens existentes e ter um método para criar Um pedido de mercado aberto. Para iniciar a amostra neste estágio, precisamos implementar o uso de nossa classe MyApp. Para isso, faça o seguinte: Dentro da função principal do nosso aplicativo de console, crie uma instância da nossa classe MyApp. Ligue para o método run () da instância para fazer login no servidor de comércio e começar a receber atualizações do EURUSD. Fornecer leitura de entrada de usuários para executar comandos: quando b é entrada, crie uma ordem de compra de mercado quando s for inserido, crie uma ordem de mercado de venda quando q for inserido, feche o aplicativo. O método run () da amostra prepara o aplicativo para negociação. Depois que a preparação é feita, ela retorna verdadeira se tudo for bom. Como você pode ver, este método chama todas as funções da API de forma assíncrona, mas aguarda suas respostas usando objetos de sincronização especiais. Observe que este não é um método eficaz de usar ForexConnectAPI, mas é fácil de entender. Não esqueça de especificar um nome de usuário e uma senha válidos para uma chamada do método login (). Agora você pode construir e executar a amostra. Se você tiver algum problema com a construção da amostra, compare com o código-fonte completo da amostra: Arquivo: ForexConnect Sample Net. zip. O que é o seguinte Para obter informações detalhadas sobre todas as classes da API e seus métodos, consulte o SDK ForexConnectAPI. Este artigo em outras línguas Como utilizar o gerenciador de tabelas na API ForexConnect O artigo descreve o uso de um gerenciador de tabelas na API ForexConnect. Um gerenciador de tabelas cria e mantém as tabelas de negociação na memória ForexConnect. As vantagens do uso do gerenciador de tabelas são descritas na documentação da classe O2GTableManager. Os detalhes de implementação do gerenciador de tabela são mostrados na seção Hierarquia de classes da API ForexConnect. Os seguintes parágrafos contêm instruções completas sobre o uso do gerenciador de tabelas. Iniciando o Gerenciador de Tabela Para garantir o uso correto de um gerente de tabela, você deve seguir estas etapas: 2. Antes do login, especifique que sua sessão usa um gerenciador de tabelas ao chamar o método. useTableManager O2GSession. Por exemplo, 3. Faça logon no servidor de negociação usando o método. login O2GSession com seus parâmetros de conexão. Por exemplo Nota: Para obter detalhes completos de login, consulte a seção Como fazer logon. 4. Obtenha uma instância da classe O2GTableManager para sua sessão, usando o método OgetGuard de O2GSession. Por exemplo, Nota: Uma instância da classe O2GTableManager pode ser obtida somente após uma sessão obter o status Conectado. Se a conexão entre a ForexConnect API e os freios do servidor de negociação, talvez seja necessário recriar uma instância da classe O2GTableManager. Caso a restauração da conexão falhe, o status da sessão fica Desligado e você deve fazer logon novamente e criar uma nova instância da classe O2GTableManager. Se a API ForexConnect restaurar a conexão com sucesso, você pode usar a instância existente da classe O2GTableManager. Para uma explicação detalhada dos status da sessão, consulte a seção Status da sessão. Obtendo dados das tabelas de negociação Para obter dados de uma tabela de negociação, você deve seguir estas etapas: 1. Verifique o status do gerenciador de tabelas. Um objeto O2GTableManager deve ter o status O2GTableManagerStatus. TablesLoaded. Para obter detalhes sobre como verificar o status do gerenciador de tabelas, consulte a documentação do IO2GTableManagerListener. Nota: Você também pode monitorar as alterações do status de carga de cada tabela em sua implementação do método IO2GTableListener. onStatusChanged. O status da carga da tabela pode ser obtido a qualquer momento ao chamar o método O2GTable. getStatus. Uma tabela só pode ser usada se tiver o status Refreshed. 2. Use o método. getTable O2GTableManager para obter uma instância de uma das subclasses O2GTable e transmitir o valor de retorno para a subclasse correspondente. Os exemplos de sintaxe para todas as tabelas de negociação são mostrados abaixo: 3. Use um dos métodos da subclasse O2GTable para obter informações de nível de linha. Os métodos são: findRow. GetRow. GetNextRow e getNextRowByColumnValue. Por exemplo, se você deseja obter preços de oferta e oferta da tabela Ofertas, escreva as seguintes linhas: Obter preços de oferta e solicitação Para as definições de métodos e exemplos de código, consulte a documentação das subclasses O2GTable mostradas na tabela anterior. Processando notificações sobre as atualizações das tabelas de negociação As tabelas de negociação são atualizadas automaticamente. Para processar notificações sobre as atualizações das tabelas de negociação, você deve seguir estas etapas: 1. Crie uma classe de ouvinte de tabela que implemente a interface IO2GTableListener. Por exemplo, o TableListener de classe pública implementa o IO2GTableListener 2. Implemente os métodos de uma classe de ouvinte de tabela: - para processar notificações sobre adições de linhas em uma tabela, implementar o método onAdded - para processar notificações sobre mudanças de linha de uma tabela, implementar o método onChanged - Para processar notificações sobre exclusões de linha de uma tabela, implemente o método onDeleted. 3. Crie uma instância de uma classe de ouvinte de tabela. Por exemplo, TableListener tableListener New TableListener () 4. Assine uma instância de uma classe de ouvinte de tabela para cada tipo de atualização individualmente usando o O2GTable. Método subscribeUpdate. 5. Processar notificações sobre atualizações de tabela nos métodos descritos na etapa 2 deste parágrafo. 6. Antes do fim de sessão, cancele a inscrição do ouvinte de cada tipo de atualização inscrito, separadamente, usando o O2GTable. Método unsubscribeUpdate. Por exemplo, a tabela abaixo mostra a sintaxe subscrição de inscrição para a classe O2GTradesTable e os métodos correspondentes de uma classe que implementa a interface IO2GTableListener.

No comments:

Post a Comment