ЛОЦМАН и C# плагин

Автор OrdinaryMOTH, 29.04.14, 19:18:39

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

bbb

#20
Цитата: z-arthur от 18.07.16, 14:51:20
Он находится в каком то из dll. По-моему в PDMObjects.dll. Нужно добавить его в проект и добавить namespace с помощью using. Возможно вам еще нужно будет пересоздать эти dll. Так как, для разных версий ЛОЦМАН они разные, могут появиться новые методы и интерфейсы.
Добавил ссылку на PDMObjects.dll и добавил namespace с помощью using (теперь все dll из папки Utilities добавлены в проект).  Интерфейс IDataSet так и не найден. А как пересоздать эти dll?

UPD: Нашел IDataSet находится в DataProvider.dll
уже нет метода versions.ValueAsString("_VERSION") теперь надо писать так похоже versions.FieldValue["_VERSION"].ToString()

bbb

Попробовал несколько функций вроде работают, а вот с GetInfoAboutVersion возникла проблема - ошибка "неверное число аргументов"
вот код
var vers = pc.GetDataSet("GetInfoAboutVersion", new object[] {"","","",pc.Selected.ID,3,errCode, errMess }) as IDataSet;
не знаю где ошибка, 7 аргументов как в справке...

z-arthur

Цитироватьне знаю где ошибка, 7 аргументов как в справке...
Попробуйте 5 параметров, без параметров errCode, errMess.
+ Благодарностей: 1

bbb

Цитата: z-arthur от 19.07.16, 12:32:34
Попробуйте 5 параметров, без параметров errCode, errMess.
Спасибо, так заработало, а почему так ведь в справке 7 параметров?

И еще вопрос как можно отлаживать модуль? Ведь даже если присоединиться к процессу loodsamn.exe, то отладить не получится т.к. для ЛОЦМАН-а файл dll другой подключается.

z-arthur

ЦитироватьСпасибо, так заработало, а почему так ведь в справке 7 параметров?
Это вопрос к разработчикам библиотек .dll. Видимо программист написал функцию GetInfoAboutVersion так, что он ожидает 5 параметров. В Delphi с этим проще, там можно опускать эти два параметра errCode, errMess, а можно - не опускать, они опциональные во всех API функциях.
ЦитироватьИ еще вопрос как можно отлаживать модуль? Ведь даже если присоединиться к процессу loodsamn.exe, то отладить не получится т.к. для ЛОЦМАН-а файл dll другой подключается.
Этот вопрос я не решал  :) Все верно, файл dll другой. Возможно конечно существует способ присоединиться к процессу, даже если файл dll другой.

bbb

Цитата: z-arthur от 19.07.16, 13:44:41
Этот вопрос я не решал  :) Все верно, файл dll другой. Возможно конечно существует способ присоединиться к процессу, даже если файл dll другой.
А что за способ? Просто сейчас у меня на breakpoint-ах студия сообщает:
В настоящий момент попадание в точку остановка не произойдет. Нет загруженных символов для этого документа.

z-arthur

ЦитироватьА что за способ? Просто сейчас у меня на breakpoint-ах студия сообщает:
В настоящий момент попадание в точку остановка не произойдет. Нет загруженных символов для этого документа.
Не знаю пока такого способа.

Alex_Prog

Здравствуйте!
Подскажите пожалуйста на сколько разумно(реально) разрабатывать плагин C# на одной машине, а внедрять/отлаживать на другой, где есть Лоцман и нет среды разработки.

once

Это, конечно, не очень разумно, но вполне реально. Пишите лог в своем плагине обо всех действиях, а потом по нему поймете, где что-то пошло не так...
+ Благодарностей: 1