Здравствуйте, drobus, Вы писали:
D>Помогите разобраться. Ничего не понимаю, и уже не первый день. Как такое могло произойти после загрузки либы ? Пока сам ковырялся установил следующее: программа ссыпется, если либа написана на C++Builder'е (тестил на 5.0 и 6.0) с включенной VCL. Если её отключить, оставить только C++, то всё работает нормально. Если либа написана на VC++6.0 с или без MFC, то тоже проблем нет. Вот код неработающей либы:
У каких-то из старых продукт Борланда (кажется Турбо-Паскаль) была аналогичная проблема с ошибкой деления на 0 на быстрых (для того времени) машинах. Насколько не изменяет склероз, там при инициализации измерялось быстродействие машины, чтобы потом его где-то учитывать. На слишком быстрых машинах время получалось нулевым и возникала ошибка деления.
Возможно здесь аналогичная проблема. Вот
здесь например написано:
Description
Some applications (larger ones) written in Delphi 7 will crash at startup if HyperThreading is enabled on fast machines (>=3 GHz). First it appears a "unknown software exception (0xc000008e)" and then a "Runtime error 200".
Workarounds
Disable HyperThreading in BIOS and use a HAL with no "ACPI-Multiprocessor". Then same EXE works fine.