
Se a lógica de chamar uma função C se mantém com a API do R que vc está usando, necessitar-se-ia que na chamada a FDwfGetVersion você passasse uma posição de memória para a função preencher a cadeia (a.k.a. *ponteiro* para memória no jargão C). O que a documentação da biblioteca R para ligação com o C diz a esse respeito? On Sun, Nov 18, 2018 at 3:53 PM Cleber N.Borges por (R-br) < r-br@listas.c3sl.ufpr.br> wrote:
olá a todos... boa tarde!
Estou tentando aprender como usar uma DLL, via "dyn.load" e ".C" dentro do R.
Fiz uns testes (abaixo tem um pedaço do que tentei) e não consegui entender como fazer isso.
Se alguém puder dar uma dica de como fazer essa manipulação, seria de muita ajuda!
E agradeço desde já por qualquer dica.
Obrigado!
Cleber
###
No pdf explicando o SDK, tem detalhe da função: FDwfGetVersion(char szVersion[32]) Description: Retrieves the version string. The version string is composed of major, minor, and build numbers (i.e., “2.0.19”).
##############################################################
### No R, eu tentei:
dwf <- dyn.load("C:\\Program Files (x86)\\Digilent\\WaveForms3\\dwf") is.loaded("FDwfGetVersion") [1] TRUE result <- .C("FDwfGetVersion", ver=as.character() ) str(result) List of 1 $ ver: chr(0)
#################################
Mas em Python, vi que o resultado é o seguinte ( exemplos em Python são disponibilizados pelo fabricante)
#################################
from ctypes import * dwf = cdll.dwf version = create_string_buffer(16) dwf.FDwfGetVersion(version) 1 print("DWF Version: "+str(version.value)) DWF Version: 3.8.22
------------------------------ [image: Avast logo] <https://www.avast.com/antivirus>
Este email foi escaneado pelo Avast antivírus. www.avast.com <https://www.avast.com/antivirus>
<#m_-2461537844725911222_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.