Здравствуйте, AndrewJD, Вы писали:
AJD>К примеру ?
Добавить пользовательские конпки в titlebar диалога, при условии, что в Windows CE фактически нет API и сообщений для неклиентской области окна! Решение — либо переделывать все ресурсы, оставляя вверху окна место под нарсиованный вручную заголовок с кнопками (у нас так сделано сейчас), либо создание дополнительного окошка с кнопками с размещением его надо диалогом и отбработкой ресайза и перемещения (так было сделано в предыдущем проекте).
Оба варианта с точки зрения совместимости с MFC — застрелиться, причем отдельно надо поддерживать propertysheets, frames, dialogs. Мало того, что нужно разбираться в тонкостях winapi, так еще приходится продираться через убойный MFC, причем так, чтобы работало и под PC и под CE3.0/4.0 и HPC/PPC.
Опытный программист, конечно, довоьно быстро решит все эти задачи. Но только чтобы того опыта набараться, это же какой хороший кусок жизни надо загубить...
Я пробовал пару раз использовать WTL для собственных нужд, должен признать что он лучше MFC. Судя по остановке в развитии WINAPI, особенной поддержки и не нужно будет. Так что рекомендуется.
Re[6]: Не MFC
От:
Аноним
Дата:
11.09.04 12:33
Оценка:
Здравствуйте, Xentrax, Вы писали:
X>Добавить пользовательские конпки в titlebar диалога, при условии, что в Windows CE фактически нет API и сообщений для неклиентской области окна! Решение — либо переделывать все ресурсы, оставляя вверху окна место под нарсиованный вручную заголовок с кнопками (у нас так сделано сейчас), либо создание дополнительного окошка с кнопками с размещением его надо диалогом и отбработкой ресайза и перемещения (так было сделано в предыдущем проекте). X>Оба варианта с точки зрения совместимости с MFC — застрелиться, причем отдельно надо поддерживать propertysheets, frames, dialogs. Мало того, что нужно разбираться в тонкостях winapi, так еще приходится продираться через убойный MFC, причем так, чтобы работало и под PC и под CE3.0/4.0 и HPC/PPC.
Единственное что могу сказать по этому поводу — MFC не очень подходит для PDA. Когда проектировали MFC Pocket PC еще не существовал.
X>Опытный программист, конечно, довоьно быстро решит все эти задачи. Но только чтобы того опыта набараться, это же какой хороший кусок жизни надо загубить...
Просто так ничего не дается В принципе можно и на VBA писать
X>Я пробовал пару раз использовать WTL для собственных нужд, должен признать что он лучше MFC. Судя по остановке в развитии WINAPI, особенной поддержки и не нужно будет. Так что рекомендуется.
WTL хорошая либа, но она слишком низкоуровневая даже в сравнении с MFC.
Здравствуйте, Xentrax, Вы писали:
X>Добавить пользовательские конпки в titlebar диалога, при условии, что в Windows CE фактически нет API и сообщений для неклиентской области окна! Решение — либо переделывать все ресурсы, оставляя вверху окна место под нарсиованный вручную заголовок с кнопками (у нас так сделано сейчас), либо создание дополнительного окошка с кнопками с размещением его надо диалогом и отбработкой ресайза и перемещения (так было сделано в предыдущем проекте). X>Оба варианта с точки зрения совместимости с MFC — застрелиться, причем отдельно надо поддерживать propertysheets, frames, dialogs. Мало того, что нужно разбираться в тонкостях winapi, так еще приходится продираться через убойный MFC, причем так, чтобы работало и под PC и под CE3.0/4.0 и HPC/PPC.
Единственное что могу сказать по этому поводу — MFC не очень подходит для PDA. Когда проектировали MFC Pocket PC еще не существовал.
X>Опытный программист, конечно, довоьно быстро решит все эти задачи. Но только чтобы того опыта набараться, это же какой хороший кусок жизни надо загубить...
Просто так ничего не дается В принципе можно и на VBA писать
X>Я пробовал пару раз использовать WTL для собственных нужд, должен признать что он лучше MFC. Судя по остановке в развитии WINAPI, особенной поддержки и не нужно будет. Так что рекомендуется.
WTL хорошая либа, но она слишком низкоуровневая даже в сравнении с MFC.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Здравствуйте, Слава Шевцов, Вы писали:
СШ>Ну IBM мастера на такие вещи. Неоднократно создавали/покупали крупные программные продукты и вдруг забивали на них. Вот типичный пример. Создали OS/2 и практически плюнули на неё (помомему, она работает только в кассовых аппаратах).
гыг. видел как она красиво глючила в наших местных банкоматах lol
Здравствуйте, Shhady, Вы писали:
Ovl>>Я уже встречал в требованиях некоторых продуктов, что 98-ая не поддерживается. Не вижу причин, чтобы не отказаться от использования MFC. S>Это называется ленивый программисты имхо. Незнаю, куча компиков фурычат на win98 (я ж не говарю, что win95), и софт (если он рассчитан на массы) без поддержки win98 — фиговый нуль.
Имхо — ты не прав. Если пишется прога для конкретной работы с БД например, причём исключительно на локальном компе , то мне интересно посмотреть на камикадзе, который с этим добром под 98 работать будет Одно посягательство на исп. память — и всё, прога упала, прихватив с собой вместе всю систему. Лол, одним словом.
Здравствуйте, Ovl, Вы писали:
Ovl>я пробовал wtl Ovl>нормально. на довольно низком уровне работает, все прозрачно, не так закамуфлировано как mfc. Ovl>в принципе похоже на mfc, но wtl легче, там проще работать с COM.
гм... со7 глупый оффтоп-вопрос задам, но знать-то хоцца
Можно ли этот самый здоровский опен-сорс WTL использовать совместно с, например, minGW? а ещё точнее — с DevC++? Заранее спасибо, если кто-то ответит
... она уже доведена до совершенства. И стоит вместе с компилятором $100. Что может быть лучше? Не знаю...
Ну это не более, чем смешно!
А что в ней, собственно, есть совершенного?? Полный дубляж WinAPI функций? Причем дубляж с кучей бесполезных накруток, которые кроме тормозов ничего не делают.
Здравствуйте, bugmaker, Вы писали:
B>Здравствуйте, Wind, Вы писали:
W>>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>>Так почему оно го**но, и чем его можно заменить?
B>как увидишь человека, который говорит это (или похожее) не употребляя фразы "по сравнению с...", то быстро кинь в него чем-нибудь
Ну почему же??
Например, я работал с MFC, и считаю, что это полный отстой! Но мне для такого умозаключения ненадо его с чем-то сравнивать.
Вот если ты, например, выпил какой-нибудь новый напиток и он тебе не понравился. Ты же его не сравнивал. Аналогичная ситуация.
Здравствуйте, Слава Шевцов, Вы писали:
W>>>Так почему оно го**но, и чем его можно заменить?
СШ>Кстати, а кто-нибудь ответит человеку на первую часть вопроса? Я уже весь заждался....
За 8 лет своего существования MFC прошла долгий путь развития и успела обзавестись "тяжёлой наследственностью". В ней сосуществуют (не всегда мирно) как старые классы (типа CToolBar), так и более новые (такие, как CToolBarCtrl). Для поддержки совместимости с уже существующим кодом Микрософт была вынуждена вносить в MFC всё новые и новые неоптимальные решения и "заплатки", которые сделали внутреннее устройство MFC запутанным и ненадёжным. Сейчас уже практически невозможно что-то изменить в архитектуре MFC, не получив при этом неприятных побочных эффектов. Косность и монолитность MFC порой приводит программистов в бешенство. Наконец, MFC создавалась в то время, когда Windows не поддерживала многопоточное программирование, и с тех пор остаётся недостаточно потокобезопасной. Другими словами, в своём развитии MFC зашла в тупик, и теперь её отмирание — это вопрос времени.
Здравствуйте, Wind, Вы писали:
W>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел. W>Так почему оно го**но, и чем его можно заменить?
Погоня за модой это глупо, в коммерческом программировании неприемлимы идеи немодно поэтому го@но, всегда нужно оценивать затраты на переход на новую систему...
... Люди делятся на 10 категорий: те кто понимают двоичное исчисление и тех кто не понимает
Здравствуйте, Mirror, Вы писали:
M>>>Qt, M>>>wxWindows сам не пробовал. M>>>Обе псевдо-кроссплатформенные CS>>А почему псевдо? CS>>Qt насколько я знаю, нормально в Линух себя чувствует...
M>Потому что под каждую из платформ надо собирать отдельно.
Насколько я знаю, единственный язык, которые не надо собирать под разные платформы — это HTML (но это и не язык per se), остальные надо собирать. Интерпретируемые языки не в счет, так как для каждой отдельной платформы нужно в придачу тащить заточенный под данную платформу рантайм или виртуальную машину.
А так, Qt и wxWindows(wxWidgets) именно реально кроссплатформенные, так как их код — "write once, compile everywhere"
Здравствуйте, Mamut, Вы писали:
M>Насколько я знаю, единственный язык, которые не надо собирать под разные платформы — это HTML (но это и не язык per se), остальные надо собирать. Интерпретируемые языки не в счет, так как для каждой отдельной платформы нужно в придачу тащить заточенный под данную платформу рантайм или виртуальную машину.
А для HTML не нужно?
наверное ты читаешь форум в html "сорцах" не пользуясь браузерами
... Люди делятся на 10 категорий: те кто понимают двоичное исчисление и тех кто не понимает
Здравствуйте, Wind, Вы писали:
W>Так почему оно го**но, и чем его можно заменить?
Может конечно и не совсем го..., все-таки на нем пишут, хотя его просто больше раскрутили. MFC не очень гибкий, уж слишком в крепкий узел завязано там все.
WTL наверно в чем-то лучше, все-таки гибче и уровень пониже, то еть легче настроить под свои нужды, полностью поддерживает СOM, так как написан на базе ATL, который используется именно для СОМ. То есть можно писать даже и на ATL, это уже ниже уровень. WTL как бы интерфейсная надстройка над ATL. Ну а если еще ниже, то старый добрый API, который все терпит
Здравствуйте, Wind, Вы писали:
W>Пишу программу (интерфейсные дела составляют2/3 от объема программы). Активно использую MFC. Вспомнил, что периодически слышу высказывания "MFC го**но", "на MFC ни кто не пишет". Задумался чем его можно заменить в VC. Ответ не нашел.
W>Так почему оно го**но, и чем его можно заменить?
ИМХО, довольно часто можно мрименять связку HTML/DHTML. Это вариант не очень привязан к MFC, правда выделывать трюки ((c) кто-то из великих)
с указателями на COM-интерфейсы тоже не очень приятно.