Ад дотнета.
Dec. 15th, 2009 07:38 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Понял, что если не напишу что-нибудь на мейнстримных языках, то убреду в тяжкие дебри Template Haskell и прочей жути, и решил занятся очередным этапом очередной "срочно-нах-нужно-вчера-конкуренты-сука-жопа-сатана-поджимают" задачей.
Нужно сделать для DataGridView ячейку, которая позволяла бы вводить папку, в общем случае - содержащую едит-бокс, кнопку и обработчик для этой кнопки. 10 минут поиска в гугле, нашел вариант решения, итд, итп, сижу подгоняю под себя.
Все таки архитектура DataGridView и вообще чего-либо хоть как-то сложного в Windows.Forms это такой адский ад, что выглядит это следующим образом: всех вменяемых программистов в микрософте, занимающихся дотнетом, кинули на реализацию базовых вещей - виртуальной машины, компилятора, итд, итп, а Windows.Forms отдали на реализацию каким-то индусским равшаноджамшутам, которые еще вчера, блин, в ганге купались и коровьей мочой мозги себе смазывали.
Вот, спрашивается, как тут удержаться от дебрей хаскеля, если альтернатива - копаться в индусском кале или писать вручную на дельфи маппинги база данных->объекты->(гуи|модуль расчета опердени) -> объекты -> база данных.
Нужно сделать для DataGridView ячейку, которая позволяла бы вводить папку, в общем случае - содержащую едит-бокс, кнопку и обработчик для этой кнопки. 10 минут поиска в гугле, нашел вариант решения, итд, итп, сижу подгоняю под себя.
Все таки архитектура DataGridView и вообще чего-либо хоть как-то сложного в Windows.Forms это такой адский ад, что выглядит это следующим образом: всех вменяемых программистов в микрософте, занимающихся дотнетом, кинули на реализацию базовых вещей - виртуальной машины, компилятора, итд, итп, а Windows.Forms отдали на реализацию каким-то индусским равшаноджамшутам, которые еще вчера, блин, в ганге купались и коровьей мочой мозги себе смазывали.
Вот, спрашивается, как тут удержаться от дебрей хаскеля, если альтернатива - копаться в индусском кале или писать вручную на дельфи маппинги база данных->объекты->(гуи|модуль расчета опердени) -> объекты -> база данных.
From: udpn.livejournal.com
Date: 2009-12-15 08:10 pm (UTC)no subject
Date: 2009-12-15 08:45 pm (UTC)no subject
Date: 2009-12-15 08:51 pm (UTC)Все заточено под ручное выкладывание контролов на формы, а я предпочитаю сделать одну обобщенную форму под каждый класс задач, а потом ее параметризовать метаданными.
no subject
Date: 2009-12-15 08:54 pm (UTC)no subject
Date: 2009-12-15 09:08 pm (UTC)no subject
Date: 2009-12-15 09:18 pm (UTC)no subject
Date: 2009-12-15 09:07 pm (UTC)а "одну обобщенную форму под каждый класс задач, а потом ее параметризовать" тоже можно реализовать, да и динамическое создание компонентов никто не отменял.
no subject
Date: 2009-12-15 09:38 pm (UTC)no subject
Date: 2009-12-15 08:49 pm (UTC)no subject
Date: 2009-12-15 08:54 pm (UTC)no subject
Date: 2009-12-15 08:57 pm (UTC)no subject
Date: 2009-12-15 09:11 pm (UTC)no subject
Date: 2009-12-15 09:25 pm (UTC)Только непонятно зачем. Если нужно контрол как-то инициализировать под конкретную ячейку, так на то InitializeEditingControl у CellTemplate есть...
no subject
Date: 2009-12-15 09:38 pm (UTC)А вызов через CurrentCell - это место для потенциальных багов, т.е. мы должны быть уверены, что эта проперть равна именно той ячейке, которая создала контрол. То, что это так - ничем не гарантируется.
Вот если бы контрол получал ячейку и datagridview при инициализации - было бы нагляднее.
no subject
Date: 2009-12-15 09:51 pm (UTC)no subject
Date: 2009-12-15 10:03 pm (UTC)no subject
Date: 2009-12-15 10:17 pm (UTC)no subject
Date: 2009-12-15 10:19 pm (UTC)no subject
Date: 2009-12-15 08:56 pm (UTC)no subject
Date: 2009-12-15 11:18 pm (UTC)no subject
Date: 2009-12-16 04:30 am (UTC)no subject
Date: 2009-12-16 04:32 am (UTC)no subject
Date: 2009-12-16 07:16 am (UTC)no subject
Date: 2009-12-16 07:08 am (UTC)В теме не разбираюсь, но к несчастью,
был неплохо знаком с MFC, ATL, WTL.
Что, неужели 2-й MFC сделали? ;-)
no subject
Date: 2009-12-17 09:02 am (UTC)