Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 14, 2018 08:47:32

Fantom.py
Зарегистрирован: 2018-11-14
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

Не могу подключить Sh4Ole.Sh4App. Ищет этот файл на локальной машине. Как указать ему путь к серверу, и что бы сразу запускал эту библиотеку. PS Подключение к серверу есть, подключался через сокеты. Но ищет всё равно на локальной машине. Помогите пожалуйста

Отредактировано Fantom.py (Ноя. 14, 2018 08:47:50)

Офлайн

#2 Ноя. 14, 2018 09:29:47

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2586
Репутация: +  60  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

Ну так код покажите как подключаете?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Ноя. 14, 2018 09:31:07

Fantom.py
Зарегистрирован: 2018-11-14
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

ZerG
Ну так код покажите как подключаете?
conn = socket.socket()
conn.connect(('ip',port))
data = conn.recv(1024)
f= open ('Sh4Ole.Sh4App','r+')

я просто недавно начал разбираться в python'e. не всё знаю

Отредактировано Fantom.py (Ноя. 14, 2018 09:51:23)

Офлайн

#4 Ноя. 14, 2018 11:57:16

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

Fantom.py
Не могу подключить Sh4Ole.Sh4App. Ищет этот файл на локальной машине.
Fantom.py
f= open ('Sh4Ole.Sh4App','r+')
а что по вашему делает команда open? Ага открывает файл на диске. Для чтения/записи данных в/из него. А вовсе не для использвания неких встроеных методов.
Я так понимаю, судя по названию Sh4Ole у вас есть OLE либа, с помощью которой вы хотите чтото там делать, так пайтон с ОЛЕ объектами работает не так. Для этого вам нужен пакет win32com. Вот простой пример с екселем, (увы никода не работал с Sh4Ole но думаю алгоритм вам должен быть понятен, делаете по аналогии, только вызываете методы вашей либы)
 from win32com.client import Dispatch
excel = Dispatch('Excel.Application')
excel.Visible = 1
excel.Workbooks.Add()
excel.ActiveSheet.Cells(1,1).Value = 'test 1'
excel.ActiveWorkbook.ActiveSheet.Cells(1,2).Value = 'test 2'
И да не забывайте что ваш Sh4Ole.dll должна быть зарестрирована в системе как OLE сервер.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Ноя. 14, 2018 12:01:45)

Офлайн

#5 Ноя. 14, 2018 12:17:32

Fantom.py
Зарегистрирован: 2018-11-14
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

PEHDOM
from win32com.client import Dispatch
ModuleNotFoundError: No module named ‘win32com’
Такая вот ошибка. А при инсталле модуля, пишет что такого нет.
P.S у меня pyton 3.7

Отредактировано Fantom.py (Ноя. 14, 2018 12:22:53)

Офлайн

#6 Ноя. 14, 2018 12:26:24

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

Fantom.py
ModuleNotFoundError: No module named ‘win32com’
win32com часть pywin32(модуль для работы с winapi), ее устанавливайте.
 pip install pywin32



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Ноя. 14, 2018 12:26:46)

Офлайн

#7 Ноя. 14, 2018 13:02:25

Fantom.py
Зарегистрирован: 2018-11-14
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

PEHDOM
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, ‘Недопустимая строка с указанием класса’, None, None)
Возникла такая проблема при запуске файла .py
что делать с этим?

Отредактировано Fantom.py (Ноя. 14, 2018 13:03:00)

Офлайн

#8 Ноя. 14, 2018 13:48:52

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

Fantom.py
что делать с этим?
ну дык покажите что вы там пишете, на что оно ругается, скорее всего в неправильно имя оле обьекта вводите.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#9 Ноя. 14, 2018 13:52:14

Fantom.py
Зарегистрирован: 2018-11-14
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

PEHDOM
Traceback (most recent call last):
File “C:\Users\Fantom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\dynamic.py”, line 89, in _GetGoodDispatch
IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221005, ‘Недопустимая строка с указанием класса’, None, None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Users\Fantom\Desktop\StoreHouse14.py”, line 37, in <module>
Sh4Ole = Dispatch('Sh4Ole.Sh4App')
File “C:\Users\Fantom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\__init__.py”, line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File “C:\Users\Fantom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\dynamic.py”, line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File “C:\Users\Fantom\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\dynamic.py”, line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, ‘Недопустимая строка с указанием класса’, None, None)

Офлайн

#10 Ноя. 14, 2018 13:56:57

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Подключение Sh4Ole.Sh4App от другого сервера

Fantom.py
Traceback (most recent call last):
трейсбек и так понятен, ваш код покажите, где вы вызываете Sh4Ole



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version