Опции
Просмотр
К последнему сообщению К первому непрочитанному
fb2847077592226344  
#1 Оставлено : 18 февраля 2021 г. 20:59:28(UTC)
fb2847077592226344

Статус: Посетитель

Группы: Участник
Зарегистрирован: 18.02.2021(UTC)
Сообщений: 8

подключил через ctypes.cdll
инициализировал

при отправке сообщения SendCommand в ответ приходит какое-то число вроде 2039406400

я так понимаю это поинтер, но в питоне поинтеров нету...

что дальше с этим числом то делать?

пару примеров функций на питоне было бы замечательно
fb2847077592226344  
#2 Оставлено : 18 февраля 2021 г. 22:01:44(UTC)
fb2847077592226344

Статус: Посетитель

Группы: Участник
Зарегистрирован: 18.02.2021(UTC)
Сообщений: 8

dll = ctypes.WinDLL("txmlconnector64.dll")

попытки считать
new = ctypes.string_at(dll.SendCommand(msg))

заканчиваются
OSError: exception: access violation reading 0x000000002422C5A0
fb2847077592226344  
#3 Оставлено : 18 февраля 2021 г. 23:52:25(UTC)
fb2847077592226344

Статус: Посетитель

Группы: Участник
Зарегистрирован: 18.02.2021(UTC)
Сообщений: 8

Проблема решена, с помощью

Цитата:
dll.SendCommand.restype = ctypes.c_char_p
new = dll.SendCommand(msg)


Теперь другая проблема

dll.FreeMemory(new) не возвращает вообще ничего
dll.FreeMemory(id(new)) - ctypes.ArgumentError: argument 1: <class 'OverflowError'>: int too long to convert

что там во что надо конвертировать???
Абрамов Александр  
#4 Оставлено : 24 февраля 2021 г. 16:49:10(UTC)
Абрамов Александр

Статус: Заслуженный написатель

Группы: Участник
Зарегистрирован: 17.04.2017(UTC)
Сообщений: 85

Добрый день!

Лучше обратиться на специализированный форум для разработчиков python.

ed_91898  
#5 Оставлено : 12 января 2022 г. 15:42:41(UTC)
ed_91898

Статус: Неофит

Группы: Участник
Зарегистрирован: 22.12.2020(UTC)
Сообщений: 13

Автор: fb2847077592226344 Перейти к цитате
подключил через ctypes.cdll
инициализировал

при отправке сообщения SendCommand в ответ приходит какое-то число вроде 2039406400

я так понимаю это поинтер, но в питоне поинтеров нету...

что дальше с этим числом то делать?

пару примеров функций на питоне было бы замечательно


Добрый день!
На не подскажете, как вы инициализировались через Питон? У меня упорно выходит ошибка Failed to initialize library:

import ctypes, os
dll = ctypes.WinDLL("C:/........................../txmlconnector.dll")
answer = dll.Initialize("C:/Logs", 3)
print("Initialize : ", answer)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.

© 2007–2017 Холдинг «ФИНАМ»Форум YAF.NET 2.3.0 BETA 20160808 | YAF.NET © 2003-2024, Yet Another Forum.NET
Страница сгенерирована за 0.723 секунды.