Olá Cesar e demais
Obrigado pelo comentário.
Lendo mais sobre esse modo de integrar C com R, vi que é pré-requisito compilar o código C com a lib Rinternals.h ...
Porém eu não tenho como ter acesso ao codigo fonte e somente a dll pronta. Imagino que a fonte do problema desse ser esse limitante.
Daí parei de tentar.
Mas obrigado pelo comentário de todo modo!
Att.,
Cleber Borges
Cleber,
Seu raciocínio no C está correto com o proviso que cadeia szVersion tem que estar pré-alocada antes da chamada à função FDwfGetVersion da API do Windows.
Veja na página 7 do manual do SDK que você está usando a documentação para a função em questão diz:
<quote>FDwfGetVersion(char szVersion[32])Parameters:- szVersion - Pointer to buffer to receive version string.
The function above is used to retrieve the version string. The version string is composed of major, minor, and build numbers (i.e., “2.0.19”).
</quote>
Você precisa ver na documentação do R como se aloca a cadeia de caracteres C compatível no R para poder passar o ponteiro para a chamada à função.
HTH--Cesar Rabak
On Tue, Nov 20, 2018 at 8:07 AM Cleber N.Borges por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
_______________________________________________Olá Daniel e demais
Bom diaO software (dll) é gratuito mas não é open-source portanto não tenho as fontes para compilar!
Um detalhe no arquivo "dwf.h" tem a seguinte declaração:
// Error and version APIs:
DWFAPI BOOL FDwfGetLastError(DWFERC *pdwferc);
DWFAPI BOOL FDwfGetLastErrorMsg(char szError[512]);
DWFAPI BOOL FDwfGetVersion(char szVersion[32]); // Returns DLL version, for instance: "3.8.5"
Imaginei que deveria como retornar uma variável lógica e modificar a variável szVersion. Meu chute é correto?
Obrigado pelo comentário.Cleber Borges
Em 19/11/2018 23:18, Daniel Guimarães Tiezzi escreveu:
Boa noite Cleber
Não seria um problema de compilação do dwf antes do dyn.load()?Vejo que está em uma máquina Windows. Tem algum compilador cc you gcc instalado? Eu não trabalho com Windows, mas talvez possa ser isso.
Daniel
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.