Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> посоветуйте как быть 
:(
    Опции темы
Value
Дата 23.3.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 2.12.2005

Репутация: нет
Всего: нет



Я хочу написать программу в которой было бы несколько игр ( пятнашки, сапёр, морской бой) . как сделать лучше чтобы игры были .dll или нет ?
PM MAIL   Вверх
Snowy
Дата 23.3.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Тогда уж bpl. С dll размер будет немаленький...
PM MAIL   Вверх
Guedda
Дата 23.3.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Да лучше exe-шниками кинуть в инсталляшку все... А потом из главной программы из взывать функцией:
Код

WinExec



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Alexeis
Дата 23.3.2006, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Value, подразумевается что число игр со временем может менятся или нет smile


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Value
Дата 23.3.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 2.12.2005

Репутация: нет
Всего: нет



alexeis1, да, для начала я напишу 3 игры, а потом надо будет подумать какие похожие игры попробовать написать
PM MAIL   Вверх
Демо
Дата 23.3.2006, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Value @ 23.3.2006, 12:52 Найти цитируемый пост)
Я хочу написать программу в которой было бы несколько игр ( пятнашки, сапёр, морской бой) . как сделать лучше чтобы игры были .dll или нет ?


А какая разница? И алгоритм, и интерфейс все равно для каждой игры надо реализовывать.

Хотя есл ты хочешь сделать добавление игр без переустановки, то тогда DLL как плагин. Для каждой игры отдельно.


--------------------
    
PM MAIL ICQ Skype   Вверх
Snowy
Дата 23.3.2006, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Если юзаешь VCL, то в данном случае BPL однозначно!
Все общие вещи вынести в отдельный свой BPL.
Каждая игра - отдельный BPL, юзающий эти вещи.
А ехешник юзает всех.
Только при таком раскладе получится минимальный размер.
PM MAIL   Вверх
Демо
Дата 23.3.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Snowy @ 23.3.2006, 13:57 Найти цитируемый пост)
Только при таком раскладе получится минимальный размер.


Так ведь BPL не только свои написанные придется таскать...


--------------------
    
PM MAIL ICQ Skype   Вверх
Snowy
Дата 23.3.2006, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Демо @ 23.3.2006, 16:07 Найти цитируемый пост)
Так ведь BPL не только свои написанные придется таскать...
Ну да. Еще как минимум rtl.bpl
Но, если все делать dll'ами, то уже на второй размер превысит расходы.
Кроме того, bpl прекрасно жмутся.
PM MAIL   Вверх
Guedda
Дата 23.3.2006, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Конечно, они жмутся... Также как и dll. Так вот собственно два варианта:
1) Взять программу и сделать bpl-ки. Примерно все будет весить 2Мб
Потом поставлять дополнительные bpl-ки и все тут.
2) Взять программу, и подключать дллки, как плагины. Примерно все будет весить 600 Кб. Так зачем же тогда такой перевес?

ИМХО, нужно пользоваться дллками, как плагинами, и все будет хорошо.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Snowy
Дата 23.3.2006, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Guedda @ 23.3.2006, 17:42 Найти цитируемый пост)
зять программу, и подключать дллки, как плагины. Примерно все будет весить 600 Кб.
Без dll'ок. Плюс каждая dll-ка по полметра...
А каждая дополнительная bpl-ка по 40-70кб...
При использовании dll, код дублируется, а для bpl - нет.
Ну-ка посчитай, что эффективнее, если плагинов штук 10...
В архиве проект на bpl с 10-ю плагинами будет в пределах метра.
P.S. bpl-ки жмутся лучше, чем dll.
PM MAIL   Вверх
Guedda
Дата 23.3.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



smile Да. Точно... Я что то ступил... Извиняюсь.
Ну и как же тогда изд-ки подключать динамически? Может ссылку дашь?


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Snowy
Дата 23.3.2006, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



LoadPackAge, UnLoadPackAge. Описание в справке дельфи.
Пример:
Код
var
  HLib:  HMODULE;
  Start: procedure;
begin
  HLib := LoadPackage(FileName);
  if HLib = 0 then Exit; // это не bpl
  Start := GetProcAddress(HLib, 'Start'); // ищем процедуру запуска
  if not Assigned(Start) then Exit; // это не наша bpl
  Start; // Запуск!
  UnloadPackAge(HLib); // выгружаем
end;

PM MAIL   Вверх
Guedda
Дата 23.3.2006, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Цитата(Snowy @ 23.3.2006, 19:08)
Код

//...
Start; // Запуск!
UnloadPackAge(HLib); // выгружаем
end;

Так что, она сразу загрузится, и выгрузится? Я что то не понимаю...


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Snowy
Дата 23.3.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Guedda @ 23.3.2006, 18:14 Найти цитируемый пост)
Так что, она сразу загрузится, и выгрузится? Я что то не понимаю...
В данном примере просто показано, как ее грузить, выполнять и выгружать.
Когда она выгрузится - в данном примере зависит от процедуры Start.
Если у тебя много bpl, то можешь их все прогрузить, а хэндлы сложить в список.
При выходе из программы, соответственно все выгружаешь.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1075 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.