А>А>..................
А>cObject * iObject = new cObject;
А>DWORD iThreadID;
А>HANDLE a_HThread;
А>a_HThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) ThreadFun, iObject, 0, & iThreadID);
А>..................
А>// Далее уже в потоковой функции
А>DWORD WINAPI ThreadFun(void * arguments)
А>{
А> cObject * o = (cObject *) arguments;
А> while(SomeCondition) {
А> // Что-то там происходит и в итоге решил я цикл покинуть
А> }
А> delete s; // И вот тут я ловлю ошибку.
А>
Насколлько я понимаю, под CObjeсt подразумевается MFC-шный класс. Так вот, чтобы MFC как-то работала потоки нужно запускать AfxBeginThread().
Во-вторых MFC-шные классы не следует создавать в одном потоке, а уничтожать в другом. Вылетает на всяких ASSERT_VALID-ах внутри деструкторов. Так что рекомендую либо не наследовать объекты от MFC, либо уничтожать их в том же потоке, в котором они созданы.