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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Visual C++ Как преобразовать числовые типы в CString и обратно с помощью MFC? http://www.cyberforum.ru/cpp-beginners/thread463074.html
Я нашол в MSDN-е C-шные функции из stdlib.h типа :atof(), atoi() но это C-шные а как же MFC .Нашол и обратные функции типа _itoa() но им вроденужен для работы конкретный массив char а CString не берет . Короче хотелось бы узнать есть ли в VCдругие функции явного преобразовния CString (вроде билдеровских StrToInt() для AnsiString ),чето в книгах я этого не нашол .
C++ Как перехватить нажатие на ссылку в IE Как перехватить нажатие на ссылку в IE, чтобы запустить мою собственную программу с передачей ей URL, по которому кликнули, при условии, что IE сам по себе, т.е. я не использую его в своей программе как ActiveX. Словом, как сделать то, что делает ReGet при клике на URL - сам запускается. С уважением, Юрий. http://www.cyberforum.ru/cpp-beginners/thread463021.html
Как зарегистрировать OLE Control через regsvr32? C++
Здравствуйте! Возник у меня детский вопрос. Ответ должен быть простым, но может кто сталкивался, и думать не придется:-). Короче, делаю я сабж родным Wizard'ом, ни строки кода не вставляю. Естественно, после сборки он регистрится. Да и вручную тоже без проблем. Несу на другую машину - regsvr32 матерится на что-то там с Allocate Memory. Самое смешное, что переписав проект на эту машину и...
Direct3DIM из VC++ - ищу знакомств! C++
Здравствуйте! Кто юзает и/или более-менее хорошо знает сабж - предлагаю обмениваться опытом. Правда я не пользую интерфейсы напрямую, т.е. мне влом писать свой кл(а,я)ссер :-), пока что пользуюсь D3DFrame.lib из SDK (стыдно сказать), но чую я, скоро придется. Конкретно же, помогу с темами 'Создание цветных полигонов без текстур и материалов', 'Что делать, если парит Зед-буфер, когда полигоны...
Visual C++ Как отловить опускание клавиши на лист контрол? http://www.cyberforum.ru/cpp-beginners/thread462985.html
Как отловить опускание на ней клавиши ??? Такого обработчика не нашёл :((
C++ Ctrl+Alt+Delete и как от него избавиться Необходимо оградить пользователя от необузданных порывов изучения менюхи возникающей его взору при нажатии Ctrl+Alt+Delete .... Как можно прибить сие окно... 1. Вариант Hook WH_KEYBOARD, и после Ctrl+Alt посылать еще какую-нибудь кнопку отличную от Delete (сие возможно, вероятно, не всегда (зависит от ОС и, контроллера, наверно, клавиатуры) )... 2. Вариант (под DOS) Int9 прерывание от... подробнее

Показать сообщение отдельно
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
06.12.2007, 16:00     Компоновка MFC с OCX-файлом
Подожди я не уловил, кто куда прикомпоновался статически?
Если ты говоришь об установках компилятора 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 назвать сторонней ).

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