Я начинаю здесь с моего вопроса, но понимаю, что на форуме Labview может потребоваться ответить.Передача пути к Labview DLL в Python
Итак, у меня есть DLL, которая была создана в Labview, и я обращаюсь к ней через Python 3.3.3. Я знаю, что я обращаюсь к нему правильно, так как я могу получить доступ к некоторым из функций уже. Тем не менее, у меня возникла проблема, когда я пытаюсь передать путь к файлу, в котором я столкнулся с проблемами.
Здесь детали вызова функции из .h файла, который был создан, когда DLL была создана:
/*!
* ClockInit
*/
int32_t __cdecl ClockInit(uint32_t HandleIn, char fileUseDialog[]);
А вот Питон фрагмент кода, который я использую, чтобы вызвать функцию:
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), но безрезультатно.
Заранее благодарим за любую помощь!
@eryksun, это должен быть ответ. – nekomatic
@eryksun - переход к 'path = b'C: \\ Python33 \\ Scripts \\ RegisterMap_100M_1p8HCSL.txt 'запускался без проблем. Спасибо, что нашли время, чтобы объяснить эту тонкую деталь, что я не уверен, что я получил бы от изучения учебника ctypes. Будучи программистом-новичком, всегда приятно находить людей, желающих учить других, которых хотят преподавать. Благодаря!! :) – TheEngiNerd