|
![]() |
#1 |
NavAx
|
Дело в том, что стороннее приложение от меня не зависит,
в качестве параметра enum методу необходим класс COM, которого нет (или я не знаю как его найти) как зарегистрированного COM-ообъекта. Или как-то можно попробовать сделать COM-объект на основе system.enum, но это уже сборка .NET, ее как COM объект создать не удается. |
|
![]() |
#2 |
Участник
|
.Net сборку можно зарегистрировать в системе как COM объект. Для этого надо в настройках, в сведениях о сборке проставить идентификатор GUID(делал с помощью GUIDgen) и сделать её видимой для COM.
После этого сборку надо зарегистрировать в системе(regasm). Она становится доступной по GUID из кода аксапты. Выше и есть .net библиотека которая используется как COM. X++: COM service = new COM("4E4CC63D-84CB-4c7a-AA97-85126917E2DA"); Например: X++: namespace test { [Guid("C70456F3-D4F7-431b-9205-A8B4C2743BA6")] public interface IMyClass { [DispId(1)] string test_message(); } // Events [Guid("BD5E8C93-E078-4732-B841-2DD415C470A8"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface IMyEvents { } [Guid("4E4CC63D-84CB-4c7a-AA97-85126917E2DA"), ClassInterface(ClassInterfaceType.None), ComSourceInterfaces(typeof(IMyEvents))] public class MyClass : IMyClass { public MyClass() { } public string test_message() { return "ОК!"; } } |
|
![]() |
#3 |
NavAx
|
Попробую объяснить по-другому.
Есть dll, исходников которой у меня нет (собственно они и не нужны). В dll есть метод, на вход которого нужно передать значение enum в виде COM-объекта DocFlowStatus (это тип, который объевлен в dll). К dll имеется пример ее использования в виде html-странички, в которой этот метод успешно вызывается так: PHP код:
|
|
![]() |
#4 |
Участник
|
Задача стоит обмен со сторонней системой?
|
|
![]() |
#5 |
NavAx
|
|
|
![]() |
#6 |
Читатель
|
могу ошибаться, но мне показалось, что приведенный кусок кода скармливает указанному методу строковое значение...
|
|
![]() |
#7 |
NavAx
|
Была попытка скормить и строку и целое число - не работает и ошибку не пишет. Вернее метод возвращает набор данных, но не отфильтрованный по входящим параметрам метода
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|