Histórico da Página
...
- A variável cBuffer tem limite de 512.000 caracteres, para ser passada como referencia.
- O nome da função na DLL obrigatoriamente precisa se chamar ExecInClientDLL e ela precisa conter os seguintes parametros:
Tipo Parametro | Nome Parametro | Proósito |
---|---|---|
int | idCommand | Número para ser utilizado como tipo de comando a ser identificado do que ser executado na DLL |
char* | buffParam | Buffer contendo informações a serem passadas para a DLL |
char* | bufOutput | Buffer contendo algum possível retorno de dados. Caso a DLL não popule algum conteúdo nesse parametro, o mesmo irá ficar sendo vazio, sendo transmitido ao parametro do cBuffer do ADVPL. |
int | buffLen | Tamanho dos buffers, tanto de entrada quanto de saída |
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#define COMMAND1 1 #define COMMAND2 2 #define RETURN_COMMAND1 100 #define RETURN_COMMAND2 200 extern "C" __declspec(dllexport) void ExecInClientDLL(int idCommand, char * buffParam, char * buffOutput, int buffLen) { switch (idCommand) { case COMMAND1: { strcpy(buffOutput, "Comando 1"); return RETURN_COMMAND1; } case COMMAND2: { strcpy(buffOutput, "Comando 2"); return RETURN_COMMAND2; } default: strcpy(buffOutput, "Comando inválido"); return 0; } } |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas