подписка



RSS  Подписатся на блог



Follow me!  Follow me!

комментарии

поиск

статистика



 

C# Garbage collector

clock марта 14, 2011 11:12 by author cya-st

Давненько не писал в этом блоге, но в дальнейшем думаю больше уделять внимания для написания статей.

Ок, сегодня речь пойдет об принудительном вызове сборщика мусора в C#. Собственно код:

1: static void Main(string[] args) {
2:   //...
3:   GC.Collect();
4:   GC.WaitForPendingFinalizers();
5:   //...
6: }

Функция WaitForPendingFinalizers ожидает завершения работы финализации объектов.





С Новым Годом и Рождеством Христовым!!!

clock января 1, 2011 07:06 by author cya-st

Поздравляю всех с Новым Годом и Рождеством Христовым!!!

Пусть Новый год Вам принесет
Лишь то, что ожидаете!
Пусть Новый год Вам принесет
Лишь то, о чем мечтаете!





Win7 и TortoiseSVN

clock октября 3, 2010 06:49 by author cya-st

Столкнулся со следующей проблемой, у меня на Win7 стояла TortoiseSVN версии 1.6.10 все было нормально пока не пришло обновление 1.6.11. Установка этого обновления завершилась нормально, но после перезагрузки системы в проводнике не оказалось ни оверлейных значков на файлах ни контекстного меню TortoiseSVN.

После гугления, нашел очень простое решение: в свойствах инсталяционного файла TortoiseSVN уберите атрибут индексирования файла. Снова запустите установку TortoiseSVN. У меня SVN после очередной перезагрузки заработал нормально.





Qt 4.7.0 Released

clock сентября 21, 2010 16:31 by author cya-st

После нескольких месяцев кодинга, тестинга, дизайна, написания документации. Вышел релиз Qt 4.7.0.

Скачать можно отсюда.

Что нового здесь.





Регистрация SQL Server в ASP.NET.

clock августа 19, 2010 06:03 by author cya-st

Если вы установили Visual Studio, а после этого SQL Server, то при создании веб-приложения или веб сайта в студии, не создается база данных, по умолчанию в App_Data. Соответственно не работает авторизация в созданом приложении или сайте. Но есть решение - Aspnet_regsql.exe. Средство регистрации SQL Server в ASP.NET (Aspnet_regsql.exe) предназначено для создания базы данных Microsoft SQL Server, используемой поставщиками SQL Server в ASP.NET. Это средство также позволяет добавлять или удалять элементы существующей базы данных.

Вне зависимости от используемой версии платформы .NET Framework исполняемый файл aspnet_regsql.exe находится в следующей папке на веб-сервере:

[drive:]\%windir%\Microsoft.NET\Framework\v4.0.30319

Программу Aspnet_regsql.exe можно запускать без аргументов командной строки; в этом случае запускается мастер, помогающий задать сведения о подключении к установленной копии SQL Server, а также установить или удалить элементы базы данных, связанные с функциями членства, управления ролями, профиля, персонализации веб-частей и наблюдения за состоянием системы.(Мастер не выполняет установку параметров состояния сеанса и зависимости кэша SQL.) Программу Aspnet_regsql.exe можно также запустить из командной строки, указав элементы базы данных, соответствующие тем или иным функциональным возможностям, которые следует удалить или добавить.

Посмотреть детальную информацию о Aspnet_regsql.exe можно в MSDN.





QSqlTableModel запрет редактирования колонки.

clock июля 26, 2010 06:07 by author cya-st

Сегодня короткая статья о том как сделать колонки только для чтения (ReadOnly) в QTableView через модель.

И так определяем клас модели. В класе модели нужно переопределить метод flag:

1: class MyModel : public QSqlTableModel //Model
2: {
3:     Q_OBJECT
4: public
5:     MyModel(QObject * parent = 0, QSqlDatabase db = QSqlDatabase());
6:     Qt::ItemFlags flags(const QModelIndex &index) const; //В этой функции запрещаются колонки на редактирование
7:     //...
8: };

Реализовываем виртуальный метод flag:

1: Qt::ItemFlags MyModel::flags(const QModelIndex &index) const
2: {
3:     Qt::ItemFlags flags = QSqlQueryModel::(index);
4:     if (index.column() == 5 || index.column() == 9 ||
5:       index.column() == 10)
6:         flags |= Qt::ItemIsEditable;
7:     return flags;
8: }

Колонки 5, 9, 10 (нумерация колонок начинается с 0) можно редактировать все остальные поля только ReadOnly.

Теперь подключаем модель:

1: modelMain = new MyModel;
2: modelMain->setTable("TableTemp");
3: //...
4: modelMain->select();
5: modelMain->setEditStrategy(QSqlTableModel::OnFieldChange);
6: m_ui->tableView->setModel(modelMain);

Вот простейшая реализация задачи задания ReadOnly полей. С вопросами прошу в комменты.