2013-07-02 4 views
-2

Я сохранял свои классы в статических библиотеках. Например, измените исходный заголовочный файл, например, добавьте строку pragma comment (lib, «MyClass»), затем скопируйте файлы в папку include и lib visual studio . В любом случае все было нормально, пока я не захотел добавить меню в свой класс. В файлах Lib нет ресурсов, поэтому я собираюсь использовать динамическую библиотеку ссылок для этого класса. Это логично, что хранение классов в dll? также я не знаю, как использовать подобные DLL-файлы ... Есть ли примеры для этого? Также есть классы, такие как CFileDialog, которые имеют ресурсы (диалог), которые используют классы статических или динамических классов?Статическая библиотека vs Динамическая библиотека для хранения классов

ответ

0

Для меня это звучит как «неправильное место для разложения вещей». Другими словами, если вашей библиотеке нужен ресурс, который является частью приложения, то он, вероятно, не должен быть библиотекой в ​​первую очередь - это либо отдельная автономная библиотека, содержащая свой собственный ресурс, потому что она имеет полный и автономной функциональности или фактически является частью основного исполняемого файла и использует ресурс основного исполняемого файла.

Точка создания чего-то в библиотеке заключается в том, что она позволяет разделять содержимое библиотеки с основным приложением.

Другой вариант, конечно, состоит в том, что вы передаете соответствующую информацию о ресурсах из основного приложения в ваш класс в библиотеке [это тоже работает для DLL, конечно].

Моя точка зрения в том, что меню является то, что принадлежит к основному приложению - он знает, что он имеет под File, Edit, View и т.д. Если вы пишете текстовый процессор, вы можете иметь такие вещи, как «Проверка орфографии «там, но вы не хотите« Проверка орфографии »в программном обеспечении Photo Editor, но вы, вероятно, хотите каким-то образом получить информацию о цветовых профилях в соответствии с цветовым балансом монитора с официальными цветами. Поэтому ваш «класс» для обработки меню, вероятно, не должен «знать», что такое меню, а просто, как иметь дело с меню в целом - какие меню у вас есть из фактического основного приложения.

Я знаю, что это на самом деле не является прямым ответом на ваши вопросы ...

+0

спасибо за ваш ответ я хочу, чтобы создать автономный класс, который не нуждается в какой-либо другой работы, так что я собираюсь превратить его в проект dll.Я думаю, что больше нечего делать. – h3x0r

Смежные вопросы