powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / простой COM out of process (EXE) на C#
7 сообщений из 7, страница 1 из 1
простой COM out of process (EXE) на C#
    #38039879
Leone1930
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается создать out of process компонент на C#. Пытаюсь добиться, чтобы, вызвав метод компонента с помощью VB-скрипта, на экран вывелось сообщение. Подскажите, что я делаю неверно?
Компонент:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
namespace OutOfProcCom
{
    [ComVisible(true), Guid("694C1821-14B6-4998-928F-FD858B95C835")]
    public interface IOutCom
    {
        void Message();
    }
    [GuidAttribute("682E2D3C-FF7B-4833-8DDF-6CF25389E729"), ComVisible(true), ClassInterface(ClassInterfaceType.AutoDual)]
    public class OutCom : IOutCom
    {
        public void Message()
        {
            MessageBox.Show("Message");
        }

        [MTAThread]
        static void Main(string[] args)
        {
            var regServices = new RegistrationServices();
            var a = regServices.RegisterTypeForComClients(typeof(OutCom),RegistrationClassContext.LocalServer | RegistrationClassContext.RemoteServer,RegistrationConnectionType.MultipleUse);
            Console.WriteLine("Server registered, press any key to exit");
            Console.ReadKey();
            regServices.UnregisterTypeForComClients(a);
        }
    }
}



VBScript:
Код: vbnet
1.
2.
set obj=CreateObject("OutOfProcCom.OutCom")
obj.Message



Мой порядок действий таков:
1. F5 в студии, появляется консоль с текстом "Server registered, press any key to exit". В ProcessExplorer появляется процесс OutOfProcCom.vshost.exe
2. Запускаю VBскрипт, а он говорит:
---------------------------
Windows Script Host
---------------------------
Script: C:\...\name.vbs
Line: 1
Char: 1
Error: ActiveX component can't create object: 'OutOfProcCom.OutCom'
Code: 800A01AD
Source: Microsoft VBScript runtime error

---------------------------
OK
---------------------------
...
Рейтинг: 0 / 0
простой COM out of process (EXE) на C#
    #38040014
Leone1930
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Апдейт. Сделал сборку RegAsm'ом..

Теперь VBскрипт ругается вот так:
---------------------------
Windows Script Host
---------------------------
Script: C:\...\name.vbs
Line: 1
Char: 1
Error: The system cannot find the file specified.
Code: 80070002
Source: (null)

---------------------------
OK
---------------------------
...
Рейтинг: 0 / 0
простой COM out of process (EXE) на C#
    #38040945
Leone1930
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто компоненты не делал, что ли?
...
Рейтинг: 0 / 0
простой COM out of process (EXE) на C#
    #38041048
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде как дотнет не умеет делать out of process COM server.
...
Рейтинг: 0 / 0
простой COM out of process (EXE) на C#
    #38041518
Leone1930
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К,
Всё он умеет, только вот не разберусь никак в чем затык..
...
Рейтинг: 0 / 0
простой COM out of process (EXE) на C#
    #38042232
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно не хочет работать. А in process создал спокойно.
...
Рейтинг: 0 / 0
простой COM out of process (EXE) на C#
    #38042323
Leone1930
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSVLAD,

Вот и я о чем :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / простой COM out of process (EXE) на C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]