Concordo que possa ser uma saída.

On Mon, Nov 26, 2018 at 5:08 PM Rodrigo Ângelo <drigo.angelo@gmail.com> wrote:
Cleber,

Talvez dê pra você fazer uma outra dll em C que encapsula essa e adiciona as bibliotecas que você precisa.

Att,
Rodrigo

On Mon, Nov 26, 2018 at 4:54 PM Cleber Borges por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:

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



Em 26/11/2018 15:52, Cesar Rabak escreveu:
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 dia
O 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






Avast logo

Este email foi escaneado pelo Avast antivírus.
www.avast.com


_______________________________________________
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.
_______________________________________________
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.