пятница, 12 декабря 2014 г.

BSOD Win7 *** STOP: 0x000000C4 (0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0000000000000000)

BSOD Win7 

*** STOP: 0x000000C4 (0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0000000000000000)

 При загрузке системы, я получал BSOD с кодом ошибки 0xC4;
Скопировав аварийный dump памяти, на свою рабочую машину я провел анализ., дампа.
0: kd> !analyze -v
DRIVER_VERIFIER_DETECTED_VIOLATION (c4)
A device driver attempting to corrupt the system has been caught.  This is
because the driver was specified in the registry as being suspect (by the
administrator) and the kernel has enabled substantial checking of this driver.
If the driver attempts to corrupt the system, bugchecks 0xC4, 0xC1 and 0xA will
be among the most commonly seen crashes.
Arguments:
Arg1: 00000000, caller is trying to allocate zero bytes
Arg2: 00000000, current IRQL
Arg3: 00000000, pool type
Arg4: 00000000, number of bytes




Проблема заключалась в драйвере tcpipreg.sys, данной информации хватило с лихой, чтобы
попробовать восстановить работу системы. И так что требуется сделать?

Решение:


  1. Загрузите машину в режиме безопасной загрузки.
  2. Запустите verifier.exe
  3. Выберите опцию удаления существующих параметров.
  4. Перезагрузите Машину.




Либо вы можете сделать следующее:

  1. Загрузите машину в режиме безопасной загрузки.
  2. Запустите regedt32.exe
  3. Посмотрите что находится у вас по этому пути
  4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\<your-adapter-interface>

Если значения ключей пустые удалите ключ.

Значение Ключа:
Name: IPAddress
Type: REG_MULTI_SZ
Data:

ПРИМЕЧАНИЕ: Если значение данных (Data) не равны нулю, то это не причина этой ошибки BSOD'a! Не удаляйте этот ключ!
Если IPAddress не показывает никакого значения данных,
то удалите запись IPAddress и перезагрузите машину.

четверг, 27 ноября 2014 г.

Включение учетной записи sa(root) MSSQL сервер

Включение учетной записи sa(root) MSSQL сервер


Ошибки:
Cannot alter the login 'sa', because it does not exist or you do not have permission.

Решение:
На работе возникли проблемы с MS Sql Server'ом, проблемы бала в том что учетная запись sa(root) отключена, проблема заключалась в том, что чтобы включить учетную запись sa(root), текущая учетная запись должна обладать правами/доступом не ниже sa. У меня MSSQL сервер находился в домене и при выполнение скрипта.
/* Отключить *
/ALTER LOGIN [sa] DISABLE
GO

/* Включить */
ALTER LOGIN [sa] ENABLE
GO


Если вы обладаете правами администратора и не хотите вручную включать учетную запись, то можете выполнить этот скрипт:

ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = 'ПарольНаУчетнуюЗапись';
GO

Выдавалась ошибка см.сверху.

Решил проблему так, как известно в MSSQL есть два типа соединений для входа, я выбрал SQL Server Authenfication. Далее нашел учетную запись и включил ее;





Программа для создания спрайтов.

   Достаточно трудно найти в сети, достойную программу для создания спрайтов. Покопавшись в google часа два нашел толковую программу.

Texturepacker - программа для создания спрайтов анимации, программа поддерживает большое количество экспортных форматов файлов. С помощью нее можно создавать спрайты для разных видео движков. Полный список поддерживаемых движков можно посмотреть на сайте производителя. Для себя отмечу что программа доступна в бесплатном режиме, создания спрайтов с данным типом лицензии доступно для экспорта в формате *.png, что мне собственно и нужно было.

Экспорт

Возможен экспорт для множества различных игровых и не очень движков.
Например, cocos2d, corona, libGDX, Shiva3D, Unity3D.
Форматы текстур получаемых на выходе - png, jpg, bmp, tga, tiff, pvr, а также pvr.gz и pvr.ccz. Не хватает, наверное, только DDS.

P.S Программа действительно полезная для тех кто ценит быстроту.

воскресенье, 16 ноября 2014 г.

uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMT.lib(new.obj)

Решение проблемы линкера, при выводе ошибок, переопределения операций:

Проблема:


  1. uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMT.lib(new.obj)
  2. uafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMT.lib(delete.obj)
  3. uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in libcpmt.lib(newaop.obj)
  4. uafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMT.lib(delete2.obj)
Решение:



Добавьте ключик при сборке:
 /FORCE:MULTIPLE

понедельник, 10 ноября 2014 г.

Простой Класс для работы с Excell в QT.

Простой Класс для работы с Excell в QT.



Была задача использовать Excell в QT, Нашел в сети исходники и переписал под свои нужды, данный класс сохраняет значения в ячейки, без возможности чтения из них.

Для использования в QT при динамической сборке следует определить
#define _AFXDLL, при статической сборке закомментировать #define _AFXDLL.


Так-же в настройках .pro следует указать.




LIBS += ole32.lib
        oleaut32.lib
        strmiids.lib

INCLUDEPATH += "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include" \
                "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include"


* Собирать только компилятором от MS.

Пример использования класса:

m_xsl = new CMSExcel

if(m_xsl->OpenExcelBook(CA2CT("SomeExcellFile.xlsx"), false) == S_OK)
{
     m_xsl->SetExcelValue(CA2CT("C4"), CA2CT("SomeValue"), true, 0);
}

m_xsl->Close();


#define _AFXDLL
#ifndef OLEXLS_H__
#define OLEXLS_H__
#include <afxdisp.h>
#include <vector>
#include <ole2.h>
 

HRESULT OLEMethod(int nType, VARIANT *pvResult, IDispatch *pDisp,LPOLESTR ptName, int cArgs...);

class CMSExcel
{

 HRESULT m_hr;
 IDispatch* m_pEApp;
 IDispatch*  m_pBooks;
 IDispatch* m_pActiveBook;

 private:
 HRESULT Initialize(bool bVisible = true);

 public:
 CMSExcel(void);
 //Destructor
       ~CMSExcel(void);

        HRESULT   SetVisible(bool bVisible);

        HRESULT   OpenExcelBook(LPCTSTR szFilename, bool bVisible);

        HRESULT   SetExcelValue(LPCTSTR szRange,LPCTSTR szValue,bool bAutoFit, int nAlignment);

        HRESULT Quit();
 

};


#endif

воскресенье, 9 ноября 2014 г.

Настраиваем браузер Google Chrome для работы через сеть tor

Настраиваем браузер Google Chrome для работы через сеть tor

Первое вам необходимо скачать пакет 

Vidalia Bridge

Если он уже загружен, Перейти в настройки (либо в адресной строке браузера набрать chrome://settings/) Google Chome ->Показать дополнительные настройки->Изменить настройки прокси сервера.





Везде нажать ОК, поздравляю ваш Браузер настроен для работы в сети TOR.


пятница, 7 ноября 2014 г.

При установке пакета MSOffice 2007 столкнулся с проблемой:
Ошибка 1920. Не удалось запустить службу "Служба кэша шрифтов Windows" (FontCache).Убедитесь, что у вас есть необходимые разрешения на запуск системных служб.


Решение:

 Пуск->Панель Управления->Администрирование->Службы; Найдите службу, и запустите ее в автоматическом режиме.(Служба кэша шрифтов Windows)