在 Python 中传递 Labview DLL 的路径

Passing a path to Labview DLL in Python

我从这里开始提出我的问题,但我意识到它可能需要在 Labview 论坛上得到解答。

所以,我有一个在 Labview 中创建的 DLL,我正在通过 Python 3.3.3 访问它。我知道我正在正确访问它,因为我已经能够访问其中的几个功能。但是,当我尝试将我 运行 的文件路径传递给问题时遇到问题。

这是在创建 DLL 时创建的 .h 文件中的函数调用详细信息:

/*!
* ClockInit
*/
int32_t __cdecl ClockInit(uint32_t HandleIn, char fileUseDialog[]);

这是我用来调用函数的 Python 片段:

import os, sys, time
from ctypes import *
ftdi=cdll.LoadLibrary('C:\Python33\DLLs\Savlo16FF_DLL_old\Salvo16FF DLL\Salvo16FF.dll')

FPGA_DeviceHandle=c_ulong(0)
Status=ftdi.FPGAInit(byref(FPGA_DeviceHandle))

path="C:/Python33/Scripts/RegisterMap_100M_1p8HCSL.txt"
ftdi.ClockInit(FPGA_DeviceHandle,path)

这是我从 Labview 返回的错误:

http://i.stack.imgur.com/PTz61.png

我能说的最多的是我没有将路径正确传递给函数。我尝试了许多不同的变体(将“/”更改为“\”,尝试使用 create_string_buffer),但无济于事。

在此先感谢您的帮助!

斜杠在 LabVIEW "not a path" 的路径变量中以相反的方式计算,正如上面正确指出的那样,python3 需要使用 "b" 前缀。