|
Интеграция через com | ☑ | ||
---|---|---|---|---|
0
Slavenia
17.11.14
✎
17:25
|
Всем привет!
Есть пример на С# работы с внешней приблудой, которую можно интегрировать в 1С через com. Есть основной класс, по которому создаю com-объект, у этого объекта есть метод, в который необходимо передать параметр с типом enum. Если передаю число - ругается на несоответствие типов. Подскажите, как быть? |
|||
1
Slavenia
17.11.14
✎
17:26
|
(0) COM-объект создаю, естественно, в 1С.
|
|||
2
prosto-nik
17.11.14
✎
17:27
|
передавать то что требуется(в смысле нужного типа) не вариант?
|
|||
3
Лефмихалыч
17.11.14
✎
17:28
|
упс...
(0) ни чего не понятно кто, откуда и куда интегрируется, кого вызывает и при чем тут enum? |
|||
4
DS
17.11.14
✎
17:33
|
Как передать из 1с в компоненту тип, который есть в компоненте, но нету в 1с? Как передать то, чего нет?
|
|||
5
Slavenia
17.11.14
✎
17:39
|
(2) Требуется передать непростой тип - в С# проекте, если посмотреть в VS.Net, это перечисление, константы, которого имеют тип int. Вопрос как раз в том, как мне передать данный параметр с конкретной константой этой компоненте?
|
|||
6
H A D G E H O G s
17.11.14
✎
17:45
|
(5) Передавай Число.
|
|||
7
prosto-nik
17.11.14
✎
17:49
|
чё то как то замудрено и как Лефмихалыч заметил, нифига не понятно
|
|||
8
18_plus
17.11.14
✎
17:50
|
(6) из (0) "Если передаю число - ругается на несоответствие типов. Подскажите, как быть?"
тут без поллитры, то есть без демонстрации кода не разберёшься |
|||
9
prosto-nik
17.11.14
✎
17:51
|
(8) ну да по фрагменту кода хоть понять можно кого и из какого ЯП вызывают :)
|
|||
10
Slavenia
17.11.14
✎
18:09
|
Вот фрагмент api:
bool ScanAndRecognize(DocumentType documentType, ref IRecognizedResult recognizedResult) Распознать данные с изображения, которое будет получено путём сканирования. documentType — тип документа, recognizedResult — распознанные данные. Метод возвращает true, если распознавание прошло успешно, и false, если качество исходных данных недостаточно для успешного распознавания. Речь идет про DocumentType. Код: try { recognizer = new Recognizer(); result = recognizer.Recognize(fileName, GetDocumentType()); ProcessDocument(); } catch { } и функция получения типа из комбобокса: private DocumentType GetDocumentType() { return (DocumentType) DocumentTypeComboBox.SelectedIndex; } В 1С соответственно, я создаю мRecognizer = Новый COMОбъект("Adaptive.DocumentOcrSdk.Recognizer"); и пытаюсь вызвать данный метод Перем Распознанное; Результат = мRecognizer.ScanAndRecognize(1,Распознанное); ругается "Типы не совпадают (0)" |
|||
11
18_plus
17.11.14
✎
18:16
|
ещё раз. что на вход принимает ScanAndRecognize ?
лучше копипастой из ide |
|||
12
18_plus
17.11.14
✎
18:18
|
ну и вообще, ты пихаешь переменную неопределённого типа и такого же значения, я б тоже ругнулся.
|
|||
13
Slavenia
17.11.14
✎
18:26
|
Так неопределенная вторая переменная, а речь про тип первой. Насчет метода, прошу извинить, вот код с вызовом того, о котором говорили:
try { recognizer = new Recognizer(); result = recognizer.ScanAndRecognize(GetDocumentType()); if (result != null) ProcessDocument(); } catch { } |
|||
14
18_plus
17.11.14
✎
18:28
|
(13) а ты уверен, что ругается именно на первый?
что скажет ScanAndRecognize(1) ? |
|||
15
Serginio1
17.11.14
✎
18:28
|
Тебе нужно Энум оборачивать через Сом либо
v8: v8: Использование сборок .NET в 1С 7.x и 8.x |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |