![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызов API функции после CoInitializate?
Erik1 © (2005-08-31 17:32:00)Надо вызвать CoInitializeSecurity после CoInitializate, но до первого нитерфейсного метода. Дело происходит в Service в котором будет реализован COM сервер. Delphi 5.
Erik1 (2005-09-05 15:07:00) [1]Разуммется он создает фабрику класов. А в случие подключения клиента создается отдельная инстанция, разумеется я незнаю в кактом потоке она будет выполнятся. А же немогу создать своих наследников от TApartmentThread и пр... Если бы это было возможно то я просто бы перекрыл у них execute и вставил свой вызов.
Тоесть я прочитал, что для вызова CoInitializeSecurity необходимо соблютать указаное выше условие, вот я хочу выяснить где я должен поставить этот вызов?
Как я понимаю секция initialization неподходит! Кто нибудь может дать мне четкий ответ?
wal (2005-09-05 14:26:00) [2]
> А создаю потоки не я а TComponentFactory!
Так что никаких потоков в модели Free он не создает. Потоки ты волен сам создавать, и делать в них то, что нужно.
function TComponentFactory.CreateInstance
begin
if not IsLibrary and ( ThreadingModel = tmApartment) then
begin
...
with TApartmentThread.Create(Self, UnkOuter, IID) do
...
end else
Result := inherited CreateInstance(UnkOuter, IID, Obj);
Erik1 (2005-09-05 10:48:00) [3]Проблема, что сделать это надо на сервере в моделе Free. А создаю потоки не я а TComponentFactory! Вот и спашиваю как мне сделать вызов после создания потока и вызова CoInitializate. На клиенте разумеется проблем нет.
wal (2005-09-02 15:06:00) [4]А в чом проблема то?
Erik1 (2005-09-02 14:38:00) [5]Удалено модератором