Список статей в категории Ошибки
dynamic_cast ошибка C2683: is not a polymorphic type
Если при использовании dynamic_cast вы ловили ошибку компиляции C2683, то вам необходимо просто добавить к классу виртуальную функцию или деструктор.
class Base1{}; class Base2 { virtual ~Base2() {;} }; class A : public Base1{}; class B : public Base2{}; Base1* pBase1 = new Base1(); Base2* pBase2 = new Base2(); A* pA = dynamic_cast(pBase1); // error C2683: 'dynamic_cast' // : 'Base1' is not a polymorphic type B* pB = dynamic_cast(pBase2); // OK
wglMakeCurrent и ERROR_INVALID_HANDEL
Если при вызове wglMakeCurrent у GetLastError выдаёт ошибку ERROR_INVALID_HANDEL (6). И ваш OpenGL контекст точно валидный, то причина может быть в окне, к которому привязан контекст. Возможно поток, в котором он был создан, был завершён. В этой ситуации при любой манипуляции с контекстом могут быть повисания или креши.
Windows 7 игнорирует настройки в файле hosts
Windows 7 игнорировал настройки в C:\Windows\System32\drivers\etc\hosts. Ping не проходил, сайты на виртуальных хостах не работали. Я перепробовал всё, наиболее полный список того, что я побывал представлен тут http://serverfault.com/questions/452268/hosts-file-ignored-how-to-troubleshoot/630999#630999
Но это всё мне не помогло. Оказалось Windows создал файл C:\Windows\System32\drivers\etc\hosts.ics и брал настройки из него. Видимо мой ПК находился в домашней сети и это файл был создан для неё.
VMware и OpenGL
VMware 10 имеет настройку 3D acceleration. При её включении виртуальная машина начинает поддерживать OpenGL, но по опыту отладки эта поддержка частичная и часто приводит к артефактам или крешам.
Не могу скомпилировать код с __try...__except?
Не могу скомпилировать код с __try...__except?
При компиляции кода в Visual Studio с __try...__except возникает ошибка: "error C2712: cannot use __try in functions that require object unwinding". Решить данную проблему можно разными путями:
- Вынести код в отдельную функцию без параметров.
- Сделать так, чтобы внутри блока не использовались переменные или параметры без деструкторов.
- Использовать параметр компиляции /GX-.
Обычно код выносится в отдульную функцию, которая при выходе не вызыва
Система отчётов о крешах
CrashRpt - бесплатная библиотеку для отлавливание креш репортев для Windows. Библиотека умеет создавать отчёты, отправлять по почте или через web, собирать mini dump.