пятница, 21 декабря 2012 г.

Stellaris LaunchPad приключения на Windows 2008 Server

clip_image001

Декламейры и всяческие отмазки

В статье использованы материалы Хабра пользователя vvzvlad http://habrahabr.ru/post/162737

Интро

Как и вышеупомянутому vvzvlad, мне пришла эта плата. Руки чесались ее «пощупать» давно. Вот она пришла и все началось…

Про доставку

DHL и только они! Представьте 6 дней и эта железка у меня J точнее говоря две, я жадный

ПО и собственно, почему я пишу эту статью

Банально не ставилась CCS. Тут собственно нужно немного описать мою инфраструктуру. В комнате стоит рабочий компьютер, со всеми плюшками. В кладовке стоит сервер, роутеры и все остальное. И глобальная проблема в том, что рабочий компьютер просто не имел достаточно места на HDD для установки CCS. Решил поставить все на сервере, но тут возникла ошибка при установке с сообщением что не может установить из за ошибки распаковки пакета. ХМ, на работе все встало без лишних вопросов. Скорее всего дело в OS, дома у меня 2008 R2, на работе семерка. Режим совместимости не спас, пришлось распаковать утилиту unzip находится вот по этому пути

C:\temp\EK-LM4F120XL-CCS-733\Software\CCS\baserepo\utils.zip utils\bin\unzip.exe

В папку c:\windows дальше все установилось без проблем.

Следующая проблема, это бегание постоянно от рабочего компьютера к серверу, ведь физически плата подключена к USB сервера. Погуглил, оказалось что не у одного меня проблема, господа из 1С тоже страдают (R). Пришлось изобретать велосипед, прокидывать USB через сеть c помощью http://www.usb-over-network.com, как ни странно, но все заработало.

Впечатления

Удобно, чистый код, по сравнению с *уиной, вспомнил что такое память, стек и регистры

Планы

Как всегда наполеоновские:

· Запилить маме розетку управляемую через смс

· Сделать автопилот на основе stellariu’s

четверг, 11 октября 2012 г.

WindowsForm InvokeRequired

Суть проблемы простая: устанавливая значения контрола из другого потока, ты рискуешь словить эксепшен.
Решение:

public static class ControlExtentions
{
/// 
/// Вызов делегата через control.Invoke, если это необходимо.
/// 
/// Элемент управления
/// Делегат с некоторым действием
public static void InvokeIfNeeded(this Control control, Action doit)
{
if (control.InvokeRequired)
control.Invoke(doit);
else
doit();
}
}

и вызов nextLineProgressBar.InvokeIfNeeded(()=>nextLineProgressBar.Minimum = 0);

А смысл этого действа в том что при присвоении значения из другого потока, WinForm очень сильно ругается.

Подсмотрено тут http://sergeyteplyakov.blogspot.com/2009/03/windows-forms-controlinvoke.html

PS можно конечно и старым методом описанным на MSDN, но так по моему красивей  

среда, 3 октября 2012 г.

IOS jQuery POST bug

Проблема: не работает аякс запрос на IOS 5. Читаем jQuery
"Pages fetched with POST are never cached, so the cache and ifModified options injQuery.ajaxSetup() have no effect on these requests."
Мы таки ему не верим и меняем код

$.post("@Url.Action(IfxMVC.News.ActionNames.GetLastNews)",processNewsResult);
На вот этот код
$.ajax({
                type: 'POST',
                url: "@Url.Action(ActionNames.GetLastNews)",
                cache: false
            }).done(processNewsResult);