Histórico da Página
Estado | ||||||
---|---|---|---|---|---|---|
|
Quando carregada uma DLL com interface C++, em linhas gerais, o nome do método a ser invocado deve seguir a seguinte nomenclatura.
Forma Geral:
<classe>::<método>(<lista de tipos dos parâmetros>)
Exemplo:
tMyClass::MyRoutine(int, double, char*)
Explicação:
Nesse caso acima, estamos dizendo que vamos invocar o método "MyRoutine" da classe "tMyClass", que contém 3 parâmetros, cujos tipos são, respectivamente "int, double, char *".
Uma hipotética linha em TLPP:
oDll:CallMethod("tMyClass::MyRoutine(int, double, char*)", "VPIDA", Nil, oPointer, nValue1, nValue2, cValue)
Nota:
Essa é somente uma forma geral, que atende grande parte dos casos.
No entanto, dependendo da construção em C++, o nome alto nível do método pode ter detalhes a mais a serem considerados.
Por isso, antes de usar, observe qual o nome exato documentadoO consumo do DynCall estabelece uma legenda própria para definição do tipo de retorno e parâmetros de uma chamada de função ou método de uma DLL.