<div dir="ltr">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. <i>ponteiro</i> para memória no jargão C).<br><br>O que a documentação da biblioteca R para ligação com o C diz a esse respeito?<div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Nov 18, 2018 at 3:53 PM Cleber N.Borges por (R-br) <<a href="mailto:r-br@listas.c3sl.ufpr.br">r-br@listas.c3sl.ufpr.br</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>olá a todos... boa tarde!</p>
<p>Estou tentando aprender como usar uma DLL, via "dyn.load" e ".C"
dentro do R.</p>
<p> Fiz uns testes (abaixo tem um pedaço do que tentei) e não
consegui entender como fazer isso.</p>
<p>Se alguém puder dar uma dica de como fazer essa manipulação,
seria de muita ajuda!</p>
<p>E agradeço desde já por qualquer dica.</p>
<p>Obrigado!</p>
<p>Cleber</p>
<p>###</p>
<p>No pdf explicando o SDK, tem detalhe da função:<br>
</p>
<table class="m_-2461537844725911222NormalTable">
<tbody>
<tr>
<td width="550"><span class="m_-2461537844725911222fontstyle0">FDwfGetVersion</span><span class="m_-2461537844725911222fontstyle1">(</span><span class="m_-2461537844725911222fontstyle1" style="color:rgb(0,0,255)">char </span><span class="m_-2461537844725911222fontstyle1">szVersion[32])</span></td>
</tr>
<tr>
<td width="550"><span class="m_-2461537844725911222fontstyle3">Description: </span><span class="m_-2461537844725911222fontstyle4">Retrieves the version string. The
version string is composed of major, minor, and build
numbers (i.e.,<br>
“2.0.19”).</span></td>
</tr>
</tbody>
</table>
<br style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<p><img src="cid:part1.EC6B1E64.1F0E529B@yahoo.com.br" alt=""></p>
<p>##############################################################</p>
<p>### No R, eu tentei:<br>
</p>
<p>> dwf <- dyn.load("C:\\Program Files
(x86)\\Digilent\\WaveForms3\\dwf")<br>
> is.loaded("FDwfGetVersion")<br>
[1] TRUE<br>
> result <- .C("FDwfGetVersion", ver=as.character() )<br>
> str(result)<br>
List of 1<br>
$ ver: chr(0) <br>
> <br>
</p>
<p>#################################</p>
<p>Mas em Python, vi que o resultado é o seguinte ( exemplos em
Python são disponibilizados pelo fabricante)</p>
<p>#################################<br>
</p>
<p>>>> from ctypes import *<br>
>>> dwf = cdll.dwf<br>
>>> version = create_string_buffer(16)<br>
>>> dwf.FDwfGetVersion(version)<br>
1<br>
>>> print("DWF Version: "+str(version.value))<br>
DWF Version: 3.8.22<br>
>>> <br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<div id="m_-2461537844725911222DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2">
<br><br>
<hr style="border:none;color:#909090;background-color:#b0b0b0;height:1px;width:99%">
<table style="border-collapse:collapse;border:none">
<tr>
<td style="border:none;padding:0px 15px 0px 8px">
<a href="https://www.avast.com/antivirus" target="_blank">
<img border="0" src="http://static.avast.com/emails/avast-mail-stamp.png" alt="Avast logo">
</a>
</td>
<td>
<p style="color:#3d4d5a;font-family:"Calibri","Verdana","Arial","Helvetica";font-size:12pt">
Este email foi escaneado pelo Avast antivírus.
<br><a href="https://www.avast.com/antivirus" target="_blank">www.avast.com</a>
</p>
</td>
</tr>
</table>
<br>
<a href="#m_-2461537844725911222_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"> </a></div></div>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</blockquote></div>