Потребление Python сервер COM от.NET

Пробелы сохраняются браузером. Текст будет перенесен, когда это необходимо, и на разрывы строк

.pre-wrap {
    white-space: pre-wrap;
    word-break: break-word;
}

DEMO

td {
   word-break: break-word;
   white-space: pre-wrap;
   -moz-white-space: pre-wrap;      
}

table {
    width: 100px;
    border: 1px solid black;
    display: block;
}
<table>
<tr><th>list</th>
<td>
1.longtextlongtextlongtextlongtextlongtextlongtextlongtextlongtextlongtextlongtextlongtextlongtext
2.breaklinebreaklinebreaklinebreaklinebreaklinebreaklinebreaklinebreaklinebreaklinebreaklinebreakline
</td>
</tr>
</table>
5
задан gimel 28 June 2009 в 12:50
поделиться

2 ответа

COM-сервер - это просто часть программного обеспечения (DLL или исполняемый файл), которая будет принимать удаленные вызовы процедур (RPC) через определенный протокол. В части протокола говорится, что сервер должен иметь уникальный идентификатор, хранящийся в реестре Windows. В нашем случае это означает, что вы «зарегистрировали» несуществующий сервер. Таким образом, ошибка (компонент не найден).

Итак, должно быть что-то вроде этого (как обычно, это непроверенный код!):

import pythoncom

class HelloWorld:
    _reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
    _reg_clsid_ = "{B83DD222-7750-413D-A9AD-01B37021B24B}"
    _reg_desc_ = "Python Test COM Server"
    _reg_progid_ = "Python.TestServer"
    _public_methods_ = ['Hello']
    _public_attrs_ = ['softspace', 'noCalls']
    _readonly_attrs_ = ['noCalls']

    def __init__(self):
        self.softspace = 1
        self.noCalls = 0

    def Hello(self, who):
        self.noCalls = self.noCalls + 1
        # insert "softspace" number of spaces
        return "Hello" + " " * self.softspace + str(who)

if __name__ == '__main__':
    if '--register' in sys.argv[1:]  or '--unregister' in sys.argv[1:]:
        import win32com.server.register
        win32com.server.register.UseCommandLine(HelloWorld)
    else:
        # start the server.
        from win32com.server import localserver
        localserver.serve('B83DD222-7750-413D-A9AD-01B37021B24B')

Затем вы должны запустить из командной строки (при условии, что сценарий называется HelloWorldCOM. py):

HelloWorldCOM.py --register
HelloWorldCOM.py

Класс HelloWorld - это фактическая реализация сервера. Он предоставляет один метод (Hello) и несколько атрибутов, один из которых доступен только для чтения. С помощью первой команды вы регистрируете сервер; со вторым - вы запускаете его, и тогда он становится доступным для использования другими приложениями.

10
ответ дан 13 December 2019 в 22:14
поделиться

Вам необходимо запустить Process Monitor на исполняемом файле C #, чтобы найти файл, который не найден.

0
ответ дан 13 December 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: