Russian Qt Forum
Ноябрь 26, 2024, 05:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Хранение данных в динамической библиотеке  (Прочитано 3691 раз)
Ground
Гость
« : Январь 21, 2012, 12:38 »

Доброго времени суток!
Пишу приложение, которое должно работать с динамическими библиотеками, которые должны следующую информацию:
1. Набор координат графических примитивов;
2. Цвет для каждого элемента;
3. Прочее.
Основное приложение должно подгружать эту DLL, и прорисовывать всю информацию.

Так вот, хотелось бы хранить в DLL массив из следующих структур:
Код
C++ (Qt)
struct element
{
   QRect;
   QColor;
   quint8 type;
   ...
};
 
element array[25];

И, получается, в DLL будут следующие функции:
Код
C++ (Qt)
getCount(); // Получение количества элементов
getRect(quint8);  //
getColor(quint8); // Получение данных i-го элемента
getType(quint8); //

Вопрос - Как сохранить в DLL какие-нибудь данные? Насколько я понял из десятка HowTo, мы можем только непосредственно в функции создать данные в динамической памяти и вернуть из функции указатель на созданный объект. Но может быть есть способ, чтобы в явном виде задать данные?
   
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Январь 21, 2012, 13:52 »

данные можно хранить в бинарных файлах например
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Ground
Гость
« Ответ #2 : Январь 21, 2012, 13:55 »

данные можно хранить в бинарных файлах например
А поддержка в Qt имеется? Или вручную сериализовать объекты и сбрасывать в файлик? Просто еще бы контроль версий не помешал

Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Январь 21, 2012, 13:58 »

QDataStream
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Ground
Гость
« Ответ #4 : Январь 21, 2012, 14:02 »

Понятно, приму к сведению.
С DLL-кой можно идею выбросить, получается, если не хочу лишних проблем?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Январь 21, 2012, 16:03 »

ну почему - классы/функции можно и в dll
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Ground
Гость
« Ответ #6 : Январь 22, 2012, 05:38 »

Все, спасибо за идею, окончательно остановился на бинарниках. Это именно то, что мне нужно
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.085 секунд. Запросов: 23.