Здравствуйте, LLong, Вы писали:
[]
LL>И всё-таки вопрос: думаете, дело в некорректном коде? Кажется, он бы везде работал (или не работал) одинаково. А получается... Мне почему-то показалось (объяснить не могу), что причина в VCL.
Просто такова моя первая заповедь: прежде, чем грешить на чужой код (в нашем случае VCL), надо разобраться со своим...
Кстати, есть такая хорошая функция — assert. Гляньте на досуге в хелпе. Работа с ней выглядит примерно так:
#ifndef _DEBUG
#define NDEBUG // в релизе не будет следов assert
#endif
#include <assert.h>
void someFunc(const char* pStr)
{
assert(pStr != NULL); // вот здесь, если нам
// передали нулевой указатель, будет БУМ! В дебаге...
// а далее рабочий код..
}