Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Компоновка MFC с OCX-файлом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как перехватить нажатие на ссылку в IE http://www.cyberforum.ru/cpp-beginners/thread463021.html
Как перехватить нажатие на ссылку в IE, чтобы запустить мою собственную программу с передачей ей URL, по которому кликнули, при условии, что IE сам по себе, т.е. я не использую его в своей программе...
C++ Как зарегистрировать OLE Control через regsvr32? Здравствуйте! Возник у меня детский вопрос. Ответ должен быть простым, но может кто сталкивался, и думать не придется:-). Короче, делаю я сабж родным Wizard'ом, ни строки кода не вставляю.... http://www.cyberforum.ru/cpp-beginners/thread463011.html
Direct3DIM из VC++ - ищу знакомств! C++
Здравствуйте! Кто юзает и/или более-менее хорошо знает сабж - предлагаю обмениваться опытом. Правда я не пользую интерфейсы напрямую, т.е. мне влом писать свой кл(а,я)ссер :-), пока что пользуюсь...
Ctrl+Alt+Delete и как от него избавиться C++
Необходимо оградить пользователя от необузданных порывов изучения менюхи возникающей его взору при нажатии Ctrl+Alt+Delete .... Как можно прибить сие окно... 1. Вариант Hook WH_KEYBOARD, и...
C++ Как программно запустить заставку с паролем? http://www.cyberforum.ru/cpp-beginners/thread462963.html
Подскажите, пожалуйста, как программно запустить заставку с паролем, а затем тоже программно убрать ее с экрана?
C++ Как сделать анимацию без мерцания? Возьмем простой пример есть рисунок bmp с нарисованным обьектом. Я хочу чтобы он например перемещался по экрану . Для этого загружаю рисунок в виртуальное окно.Затем с помощью DC.BitBlt вывожу на... подробнее

Показать сообщение отдельно
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
06.12.2007, 16:00
Подожди я не уловил, кто куда прикомпоновался статически?
Если ты говоришь об установках компилятора Use MFC in a Static Library, то это работает только для MFC библиотек и в основном для mfc42.dll. То есть когда ты будешь использовать класс CString или CWnd программа не полезет искать библиотеку mfc42.dll сначала в памяти, потом если таковой нет то по дискам, а будет использовать внедренный в твою программу код. И это нормально, при создании своих ActiveX компонентов и прочих COM объектов ты с легкостью можешь использовать эту опцию, как впрочем и при создании приложения, даже если это приложение использует твои или сторонние COM-объекты.
С другой стороны, если ты хочешь использовать библиотеку, содержащую COM-объеты, и линковать ее статически (те же *.ocx - файлы) - вот это у тебя не получиться. Библиотека должна быть зарегистрирована в реестре и скомпонована по особым правилам и т.п. то есть тебе придется с проектом, который использует COM-объекты, нести эти самые объекты в своих библиотеках и регистрировать их.
По поводу ATL-на самом деле сложно утверждать, что код получается гораздо меньше, особенно если не использовать статическую компановку в первом случае (с MFC). Я бы даже сказал, наоборот, так как библиотека mfc42.dll уже включена в стандарт Windows 2000/ME, многие пользователи уже более старых ОС, уже давно установили ее с одним из многочисленных проектов, разработтаном на VC++ с применением MFC, то в принципе ее можно и не включать в поставку, просто сделать ссылочку в FAQ, что возможно отсутствует библиотека mfc42.dll. Тогда код сгенерированного ocx с использованием MFC будет раз в 5 - 10 меньше подобного, но с использованием ATL (цифра так навскидку и конечно может варьироваться). Кроме того разработка, например ActiveX компонентов с использованием MFC мне показалась гораздо легче, чем с ATL. Обычно для контролов я использую MFC, а для библиотек функций - ATL (все таки приятно когда ты не зависишь ни от каких сторонних библиотек Хотя конечно сложно mfc42.dll назвать сторонней ).

С уважением, Владимир
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru