Здравствуйте, bipbip, Вы писали:
B>B>Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
B>
Мне кажется, тут дело не в TCHAR, а в спецификаторе вызова функции. Насколько мне известно, паскаль и си используют разную схему (последовательность) занесения аргументов функции в стек и возвращения значения. Копать в строну __cdecl __stdcall и иже с ними. По умолчанию в си используется один из этих спецификаторов неявно, и это не всегда приемлемо.
У меня например такая ошибка выпала однажды, когда пытался импортировать функцию из dll, не указывая спецификатор вызова, а он оказался по умолчанию не таким как нужно.