Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

Помогите советом по ФОРМАМ   Найти похожие ветки 

 
UGB   (2003-11-04 15:32) [0]

Здравствуйте!
Имеются несколько БД(DBF). В главной форме есть DBGRID для каждой из них. Выполняются в общем-то одни и теже операции: добавить, редактировать, удалить, восстановить. Формы ввода из-за разных структур разные (они в отдельных модулях). Если я например сделаю одну форму, но с несколькими панелями для каждой базы и буду их делать видимыми в определенных условиях, то уменьшится ли EXE? Кто имеет опыт ввода в большое число таблиц с неодинаковыми структурами поделитесь, буду ОЧЕНЬ признателен. Спасибо


 
Amoeba   (2003-11-04 15:53) [1]

Размер *.exe будет зависеть от общего числа форм в проекте и размещенных на них компонентов + написанный тобой код. Видимость/невидимость взятая отдельно ничего не изменит. То, что ты хочешь сделать, не поможет.
Единственно можно уменьшить объем памяти и ресурсов потребляемых программой, если оставить исходный вариант, но при этом не делать эти формы Autocreate (см. Project|Options).


 
UGB   (2003-11-05 07:15) [2]

Если их не сделать автозагружаемыми, но по мере работы все равно нужно зайти в каждое из окно (может быть) и все равно будет размер тоже. Но все равно спасибо. Операторы, как правило, работают с одним окном.


 
KSergey   (2003-11-05 08:00) [3]

Операторы не как правило, они по определению могут работать только с одним окном. В винде лишь одно окно может быть активным.

> Если их не сделать автозагружаемыми, но по мере работы все
> равно нужно зайти в каждое из окно (может быть) и все равно
> будет размер тоже

Размер - чего? Exe - да, занимаемой памяти - нет, т.к. после отработки очередную форму уничтожаем - вот и все.
Вообще говоря не совсем понятно о чем вы сейчас заботитесь. Сколько у вас таких форм? две сотни, три тысячи? Уверен, что нет. А для 5-10 форм - не стоит особо заморачиваться про объемы.
Да, делать все их автокрейтными - смысле не имеет, автокрейт - вообще зло, по определению ;)
А так - ну создавайте по необходимости и уничтожайте - вот и все.
Если действия относительно однотипны, как и кнопки (как минимум) на формах - можно сделать для них общего наследника с общей для всех функциональностью (редактирование, добавление, удаление для заданного DataSet (его, воможно, придется задавать как параметр в run-time, красявости design-time уходят - ну да они тоже зло ;). Хотя, смотря как сделать- не обязательно они уходят.)
А уже от этой базовой формы пронаследовать другие, с предметно-зависимой функциональностью.
Размер exe - уменьшится (если я верно понимаю), на счет памяти при выполнении - не уверен, т.к. по сравнению с просто созданием формы увеличится, возможно, таблица виртуальных функций, код для обслуживания потомков и т.д., но это все, по-моему, копейки по сравнению с мировой революцией! ;)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.473 c
14-42135
Style
2003-10-22 11:35
2003.11.13
---|Ветка была без названия|---


3-40897
shihovtseva
2003-10-20 09:25
2003.11.13
Ошибка в базе IB


6-41776
Vyacheslav
2003-09-20 10:47
2003.11.13
работа с ftp


1-41651
Deedlit
2003-10-25 18:35
2003.11.13
Конвертация ShortCut в текст и обратно


3-41075
Senator
2003-10-23 16:14
2003.11.13
FireBird





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский