Здравствуйте, andrw, Вы писали:
A>Всем доброго дня! A>Недавно встала задача разместить COM классв *.exe файле. A>ATL в принципе позволяет решать эту задачу и как тоже понятно, вопрос в том A>возможно-ли создавать каждый com класс в отдельном процессе. Т.е. на каждый A>CoCreateInstance создавался отдельный процесс?
Всем доброго дня!
Недавно встала задача разместить COM классв *.exe файле.
ATL в принципе позволяет решать эту задачу и как тоже понятно, вопрос в том
возможно-ли создавать каждый com класс в отдельном процессе. Т.е. на каждый
CoCreateInstance создавался отдельный процесс?
Здравствуйте, andrw, Вы писали:
A>Всем доброго дня! A>Недавно встала задача разместить COM классв *.exe файле. A>ATL в принципе позволяет решать эту задачу и как тоже понятно, вопрос в том A>возможно-ли создавать каждый com класс в отдельном процессе. Т.е. на каждый A>CoCreateInstance создавался отдельный процесс?
Здравствуйте, kvasya, Вы писали:
K>Здравствуйте, andrw, Вы писали:
A>>Всем доброго дня! A>>Недавно встала задача разместить COM классв *.exe файле. A>>ATL в принципе позволяет решать эту задачу и как тоже понятно, вопрос в том A>>возможно-ли создавать каждый com класс в отдельном процессе. Т.е. на каждый A>>CoCreateInstance создавался отдельный процесс?
K>емнип это поведение по умолчанию, не?
На первый вызов создается, а потом получается в рамках уже созданного процесса
Здравствуйте, andrw, Вы писали:
A>Здравствуйте, kvasya, Вы писали:
K>>Здравствуйте, andrw, Вы писали:
A>>>Всем доброго дня! A>>>Недавно встала задача разместить COM классв *.exe файле. A>>>ATL в принципе позволяет решать эту задачу и как тоже понятно, вопрос в том A>>>возможно-ли создавать каждый com класс в отдельном процессе. Т.е. на каждый A>>>CoCreateInstance создавался отдельный процесс?
K>>емнип это поведение по умолчанию, не?
A>На первый вызов создается, а потом получается в рамках уже созданного процесса
и когда последний объект релизится то и процесс завершается
Здравствуйте, andrw, Вы писали:
A>Недавно встала задача разместить COM классв *.exe файле. A>ATL в принципе позволяет решать эту задачу и как тоже понятно, вопрос в том возможно-ли создавать каждый com класс в отдельном процессе. Т.е. на каждый CoCreateInstance создавался отдельный процесс?
Ищи REGCLS_MULTIPLEUSE и REGCLS_SINGLEUSE на сайте.
Здравствуйте, Mager, Вы писали:
M>Здравствуйте, andrw, Вы писали:
A>>Всем доброго дня! A>>Недавно встала задача разместить COM классв *.exe файле. A>>ATL в принципе позволяет решать эту задачу и как тоже понятно, вопрос в том A>>возможно-ли создавать каждый com класс в отдельном процессе. Т.е. на каждый A>>CoCreateInstance создавался отдельный процесс?
M>Посмотрите здесь
Здравствуйте, andrw, Вы писали:
A>Всем доброго дня! A>Недавно встала задача разместить COM классв *.exe файле. A>ATL в принципе позволяет решать эту задачу и как тоже понятно, вопрос в том A>возможно-ли создавать каждый com класс в отдельном процессе. Т.е. на каждый A>CoCreateInstance создавался отдельный процесс?
Интересно, а другого способа нет, чтобы обойтись без коррекции
исходников atlbase.h.
Хотя самому так сразу ничего в голову не приходит
Здравствуйте, andrw, Вы писали:
A>Интересно, а другого способа нет, чтобы обойтись без коррекции исходников atlbase.h. A>Хотя самому так сразу ничего в голову не приходит
Переопредели функциональность класса своего приложения, наследующего CAtlModuleT. Все равно ты знаешь как должно работать. Например, HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags) throw() или HRESULT PreMessageLoop(int /*nShowCmd*/) throw().
Там идет вызов шаблонного метода, так что замена будет действенна.
Здравствуйте, Vi2, Вы писали:
Vi2>Здравствуйте, andrw, Вы писали:
A>>Интересно, а другого способа нет, чтобы обойтись без коррекции исходников atlbase.h. A>>Хотя самому так сразу ничего в голову не приходит
Vi2>Переопредели функциональность класса своего приложения, наследующего CAtlModuleT. Все равно ты знаешь как должно работать. Например, HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags) throw() или HRESULT PreMessageLoop(int /*nShowCmd*/) throw().
Vi2>Там идет вызов шаблонного метода, так что замена будет действенна.