Картинка блога

В большинстве случаев, для написания сколько-нибудь ценной программы приходится использовать сторонние разработки. Чаще, и проще всего подключить их как ссылка по файлу. В таких случаях, при возникновении ошибки стек вызова покажет такой код как внешний. Но что делать, если именно в этом коде возникла ошибка, и есть желание узнать что к чему?

Продолжить чтение "Отладка сторонних библиотек в Visual Studio" »

31 августа, 2009

В этом посте я расскажу о моем адаптере для SQLite, который использовался в проекте YoutubeView.
SQLite – это база данных, которая сохранаяется в одном файле. Такой способ подходит, наприемер, для оконных приложений (где в силу каких-либо причин не хочется использовать Access).
CRUD - сокращение от Create, Read, Update, Delete. Это набор класс, работающий с данными базы данных.

Продолжить чтение "CRUD на SQLite" »

30 марта, 2009

Вот и закончился MIX09. Он принес много интересных новостей в развитии .NET и Microsoft. Сам я конечно там не был, но внимательно следил за новостями.

Продолжить чтение "Будущее .NET" »

Несколько месяцев на блоге висел опрос о том, какой инструментарий используют посетители сайта, работающие на .NET. По результатам у меня возникло ощущение, что многие просто не знают или не понимают, что я имел в виду.
Сейчас я попробую заполнить этот пробел.

Продолжить чтение "ALT.NET или инструментарий Microsoft?" »

Часто возникает потребность отфильтровать одинаковые элементы в списке. В LINQ есть метод Distinct, который получает интерфейс IEqualityComparer. Не совсем понятно, почему метод не может получать lamda-выражение. Следующий код должен исправить положение:

Продолжить чтение "Фильтр одинаковых объектов в LINQ." »

Во время написания своего диспетчера обновлений, наткнулся на одну задачку. Версия последнего обновления сравнивается с версией самого приложения и если последняя устарела, должна осуществятся замена файла с сервера. Оказалось, что проблема не тривиальна, за исключением тех, кто держит все классы и «неймспейсы» .NET в голове.

Продолжить чтение "Версия .NET сборки без блокирования файла." »

При создании более или менее сложных приложений для Windows. Неизбежно возникает проблема организации доступа к данным из разных потоков. В Windows.Forms это выглядит так:
Cross-thread operation not valid: Control ‘textBox1′ accessed from a thread other than the thread it was created on.
В WPF это выглядит так:
System.InvalidOperationException: The calling thread cannot access this object because a different [...]

Продолжить чтение "Мультипоточность в Windows.Forms и WPF" »

6 февраля, 2009

Adobe Flash, или компонент Shockware Flash встроить в форму относительно легко. Точнее, также легко как и любой другой ActiveX компонент. Тем не менее, этот процесс не защищен от проблем, например, таких:
Class not registered (Exception from HRESULT: 0×80040154 (REGDB_E_CLASSNOTREG))

Продолжить чтение "Загрузка Flash в Windows.Forms и WPF." »

5 февраля, 2009

В прошлом году мне посчастливилось поучаствовать не лекциях (или конференции, кому как нравится) под названием Live Services JumpStart 2009. Обсуждались такие темы как Live Services, Mesh и немного Azure. Последняя является, так сказать, средой для запуска приложений в вычислительном облаке.

Продолжить чтение "Azure, Mesh и Live Services от Microsoft" »

В одной из моих прошлых записей я рассказывал, что LINQ не совсем белый и пушистый, а иногда даже сильно ругается. Речь шла о методе SaveOrUpdate, сейчас я продолжу тему.
Прошлый пример похож на то, что по сути должен делать сам LINQ to MS SQL провайдер, естественно с кучей дополнительных деталей, на которых по всей видимости, часто [...]

Продолжить чтение "LINQ Insert or Update еще одно решение." »