Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Не был произведен вызов CoInitialize  [new]
kamero
Member

Откуда:
Сообщений: 164
Эм... понять не могу... Я же добавил.

begin
 try
    Success:=CoInitialize(nil);
    try
      NewThread1:=TNewThread1.Create(true);
      NewThread1.FreeOnTerminate:=true;
      NewThread1.Priority:=tpLower;
      NewThread1.Resume;

      NewThread2:=TNewThread2.Create(true);
      NewThread2.FreeOnTerminate:=true;
      NewThread2.Priority:=tpLower;
      NewThread2.Resume;
    finally
      case Success of
        S_OK, S_FALSE: CoUninitialize;
      end;
    end;
 except
    on E:Exception do
 end;
end;
30 ноя 17, 12:54    [20995049]     Ответить | Цитировать Сообщить модератору
 Re: Не был произведен вызов CoInitialize  [new]
fd00ch
Member

Откуда: Нижний Новгород
Сообщений: 5864
kamero, тут же разные потоки)
30 ноя 17, 12:56    [20995059]     Ответить | Цитировать Сообщить модератору
 Re: Не был произведен вызов CoInitialize  [new]
VDSoft
Member

Откуда:
Сообщений: 13
kamero,

Перенеси внутрь каждого потока по разу.
30 ноя 17, 13:02    [20995084]     Ответить | Цитировать Сообщить модератору
 Re: Не был произведен вызов CoInitialize  [new]
kamero
Member

Откуда:
Сообщений: 164
VDSoft,

Спасибо)
30 ноя 17, 13:24    [20995179]     Ответить | Цитировать Сообщить модератору
 Re: Не был произведен вызов CoInitialize  [new]
VDSoft
Member

Откуда:
Сообщений: 13
kamero,

А еще посмотри на CoInitializeEx().
30 ноя 17, 13:29    [20995199]     Ответить | Цитировать Сообщить модератору
 Re: Не был произведен вызов CoInitialize  [new]
Ghost Writer
Member

Откуда: Россия
Сообщений: 720
или в .dpr
CoInitFlags := COINIT_MULTITHREADED;
30 ноя 17, 14:00    [20995341]     Ответить | Цитировать Сообщить модератору
 Re: Не был произведен вызов CoInitialize  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 948
kamero
Эм... понять не могу... Я же добавил.


Справку хотя бы пытались прочитать?

https://msdn.microsoft.com/en-us/library/windows/desktop/ms678543(v=vs.85).aspx

msdn
New applications should call CoInitializeEx instead of CoInitialize

msdn
You need to initialize the COM library on a thread before you call any of the library functions except CoGetMalloc, to get a pointer to the standard allocator, and the memory allocation functions.

автор
CoInitializeEx must be called at least once, and is usually called only once, for each thread that uses the COM library.


Черным по белому же написано.
30 ноя 17, 15:39    [20995822]     Ответить | Цитировать Сообщить модератору
 Re: Не был произведен вызов CoInitialize  [new]
schi
Member

Откуда: Москва
Сообщений: 2356
kamero
Эм... понять не могу... Я же добавил.

begin
 try
    Success:=CoInitialize(nil);
    try
      NewThread1:=TNewThread1.Create(true);
      NewThread1.FreeOnTerminate:=true;
      NewThread1.Priority:=tpLower;
      NewThread1.Resume;

      NewThread2:=TNewThread2.Create(true);
      NewThread2.FreeOnTerminate:=true;
      NewThread2.Priority:=tpLower;
      NewThread2.Resume;
    finally
      case Success of
        S_OK, S_FALSE: CoUninitialize;
      end;
    end;
 except
    on E:Exception do
 end;
end;


Нахрен оно тебе, это программирование на Delphi ?
1 дек 17, 10:45    [20997583]     Ответить | Цитировать Сообщить модератору
 Re: Не был произведен вызов CoInitialize  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 2091
schi,

разберется, возможно, не всё сразу :)
1 дек 17, 14:41    [20998500]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить