FAQ:WinAPI VCPP:скопировать класс из одного проекта в другой — различия между версиями

Материал из Весельчак У
Перейти к: навигация, поиск
м (Как мне скопировать класс из одного проекта в другой? Код класса находится в файлах проекта в виде исходников.)
м (Как мне скопировать класс из одного проекта в другой? Код класса находится в файлах проекта в виде исходников.)
 
Строка 24: Строка 24:
  
 
<h4>Примечание:</h4>
 
<h4>Примечание:</h4>
После копирования класса откомпилируйте проект, определите и исправьте все не стыковки. Например, скорее всего, будет ругань на файл "имя_исходного_проекта.h" - переправить на название проекта назначения. В файлах, где будут не найдены идентификаторы ресурсов, возможно, достаточно будет включить в начале файла строку #include "Resource.h". Рекомендуется удалить из папки проекта назначения файл *.clw, затем в проекте нажать Ctrl+W, OK, OK. Тем самым файл дерева классов будет создан заново.
+
После копирования класса откомпилируйте проект, определите и исправьте все нестыковки. Например, скорее всего, будет ругань на файл "имя_исходного_проекта.h" - переправить на название проекта назначения. В файлах, где будут не найдены идентификаторы ресурсов, возможно, достаточно будет включить в начале файла строку #include "Resource.h". Рекомендуется удалить из папки проекта назначения файл *.clw, затем в проекте нажать Ctrl+W, OK, OK. Тем самым файл дерева классов будет создан заново.
  
 
[[Category:FAQ:WinAPI VCPP]]
 
[[Category:FAQ:WinAPI VCPP]]

Текущая версия на 11:27, 7 августа 2008

Как мне скопировать класс из одного проекта в другой? Код класса находится в файлах проекта в виде исходников.

Скажем, нам надо скопировать класс CXx.

1) Чаще всего весь код класса CXx расположен в 2 файлах:

Xx.h - заголовочный файл
Xx.cpp - файл реализации

В этом случае можно:

а) Просто скопировать данные файлы из папки первого проекта в папку второго, затем, открыв проект назначения, добавить файлы в дерево проекта.

б) Найти класс в дереве классов первого проекта, нажать на класс правой кнопкой мыши и добавить в галерею классов. Затем открываем второй проект и выполняем: Project->Add To Project->Components And Controls. Ищем там папку с названием, как у проекта-источника, и в этой папке находим файл "Xx.ogx". Вставляем этот "компонент" в проект.

2) Случай, когда класс - производный от CDialog и имеет ресурс-диалог. Самый приятный вариант - выполнить пункт . Ресурс диалога скопируется автоматом и при этом, корректно будут выбраны числовые значения для идентификаторов.

3) Если, кроме всего прочего, для работы класса требуются другие файлы, подключаемые при помощи "#include", то эти файлы просто копируем из папки в папку, а затем включаем в дерево проекта.

4) Если в классе используются другие ресурсы (иконки, битмапы и прочее), копируем эти ресурсы перетаскиванием файлов, или через export/import (правой кнопкой мыши по ресурсу в дереве проекта).

Примечание:

После копирования класса откомпилируйте проект, определите и исправьте все нестыковки. Например, скорее всего, будет ругань на файл "имя_исходного_проекта.h" - переправить на название проекта назначения. В файлах, где будут не найдены идентификаторы ресурсов, возможно, достаточно будет включить в начале файла строку #include "Resource.h". Рекомендуется удалить из папки проекта назначения файл *.clw, затем в проекте нажать Ctrl+W, OK, OK. Тем самым файл дерева классов будет создан заново.