Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Очистка USES [D7, WinXP]


Страницы:   1 2 3 4 5 6

Stanislav ©   (2006-07-27 11:08:00) 

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


Плохиш   (2006-08-10 11:40:00) [1]


> GrayFace ©   (10.08.06 10:21) [99]

Откройте пост 97, заклейте слово "скулите" и почитайте ещё несколько раз.


GrayFace   (2006-08-10 10:23:00) [2]

GrayFace ©   (10.08.06 10:21) [99]
Если ты

Поправка: Вы.


GrayFace   (2006-08-10 10:21:00) [3]

Плохиш ©   (08.08.06 11:59) [97]
Я доказываю Игорю, что из-за не очень хорошо спроектированных модулей в программу пихается лишний код. Если ты суть дискуссии не понимаешь, то влезасть с глупостями типа "скулишь" не стоит.

Игорь Шевченко ©   (08.08.06 13:25) [98]
Да, неудачный пример. Вот: TMonitor - зачем ему то, что я перечислял?; функции из SysUtils - многим не нужна инициализация, которая присутствует в модуле и утяжеляет exe на пару десятков кило; битмепки из Buttons.res вообще нужны только TBitBtn, поэтому вместе с ним должны были быть выделены в отдельный модуль.


Игорь Шевченко   (2006-08-08 13:25:00) [4]

GrayFace ©   (08.08.06 11:32) [96]


> Если я захочу использовать в своей консольной программе
> модуль Dialogs, то это не означает, что должен быть проинициализирован
> Application, подключен код TCustomForm и всех его родителей
> и добавлены иконки и курсоры в ресурсы.


Означает. Так как в этом модуле Forms активно используется. Почитай исходник.


Плохиш   (2006-08-08 11:59:00) [5]


> GrayFace ©   (08.08.06 11:32) [96]
> Если я захочу использовать в своей консольной программе
> модуль Dialogs, то это не означает, что должен быть проинициализирован
> Application, подключен код TCustomForm и всех его родителей
> и добавлены иконки и курсоры в ресурсы.

Я не понимаю, проблема написать свой компилятор с библиотекой? Вон KOL сделали. А Вы, извините, только скулите, что Вам чё-то не нравиться и все должны броситься всё подстраивать под Ваши требования. Вы, эта, хотя бы приняли участие в финансировании проекта Делфи? Например, купив лицензию или всё ворованой версией пользуетесь?


GrayFace   (2006-08-08 11:32:00) [6]

Игорь Шевченко ©   (02.08.06 11:20) [95]
Еще раз - если ты включаешь в uses модуль Controls, значит тебе требуется что-то из него. Это "что-то" должно быть проинициализировано.

Если я захочу использовать в своей консольной программе модуль Dialogs, то это не означает, что должен быть проинициализирован Application, подключен код TCustomForm и всех его родителей и добавлены иконки и курсоры в ресурсы.


Игорь Шевченко   (2006-08-02 11:20:00) [7]

GrayFace ©   (02.08.06 03:33) [92]


> Чем именно - например тем, что чайники, коих в Борланде
> есть, могли бы в initialization модуля Classes вызвать что-
> то из Forms, требущее инициализации. Впрочем, ничего военного
> на ум не приходит, просто не принято.


Так раз на ум не приходит, то и наговаривать на Borland не стоит, не так ли ?
А то моська на слона тоже лаяла...


> это, конечно, хорошо, но кто мешает гарантированно инициализировать
> по требованию? При граматнам :) подходе при включении в
> uses модуля Controls к размеру программы не добавлялось
> бы 300kb.


Еще раз - если ты включаешь в uses модуль Controls, значит тебе требуется что-то из него. Это "что-то" должно быть проинициализировано.


jack128   (2006-08-02 08:22:00) [8]

С одной стороны в Борладе чайники
GrayFace ©   (02.08.06 3:33) [92]
Чем именно - например тем, что чайники, коих в Борланде есть, могли бы в initialization модуля Classes вызвать что-то из Forms, требущее инициализации.


С другой -
GrayFace ©   (02.08.06 3:33) [92]
но кто мешает гарантированно инициализировать по требованию? При граматнам :) подходе при включении в uses модуля Controls к размеру программы не добавлялось бы 300kb

ты уж определись ;-)


GrayFace   (2006-08-02 03:39:00) [9]

Хм, "И?" надо было убрать - несколько грубовато получилось.


GrayFace   (2006-08-02 03:33:00) [10]

Игорь Шевченко ©   (31.07.06 15:41) [80]
> Разбиение на модули действительно ламерское. Например, в
> Forms присутствует uses Controls, а в Controls в implementation
> uses Forms.

Это плохо по твоему мнению ? Чем именно ?


Это плохой стиль. Чем именно - например тем, что чайники, коих в Борланде есть, могли бы в initialization модуля Classes вызвать что-то из Forms, требущее инициализации. Впрочем, ничего военного на ум не приходит, просто не принято.

Игорь Шевченко ©   (31.07.06 15:41) [80]
> И вместо initialization надо было инициализировать по требованию
> в большинстве случаев.

Видишь ли, дорогой друг, тот, кто использует в uses эти юниты, обычно гарантировано требует их функциональности, обеспечиваемой секцией initialization в том числе. Не используй - и будет тебе счастье. Даром. И никто не уйдет обиженный.


И? Гарантированное выполнение implementation - это, конечно, хорошо, но кто мешает гарантированно инициализировать по требованию? При граматнам :) подходе при включении в uses модуля Controls к размеру программы не добавлялось бы 300kb.

Плохиш ©   (31.07.06 16:44) [89]
Я ещё больше скажу, моя версия делфи даже неиспользуемые методы выкидывает, во как :-)


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

Плохиш ©   (31.07.06 16:44) [89]
Правда она лицензионная, это фича наверное лицензии.


Шутить изволите?


Игорь Шевченко   (2006-08-01 13:53:00) [11]


> Отсюда следует что если модуль с 10 классами вкючен в uses,
>  но ниодин класс не используется, то содержимое модуля в
> exe не попадет?
> А если попадает, то где-то происходит вызов одного из методов
> класса?


Именно так.


Stanislav   (2006-08-01 13:51:00) [12]

Действительно не подтягивается! :-)

Отсюда следует что если модуль с 10 классами вкючен в uses, но ниодин класс не используется, то содержимое модуля в exe не попадет?
А если попадает, то где-то происходит вызов одного из методов класса?

Тогда приношу свои извинения!


Плохиш   (2006-07-31 16:44:00) [13]


> Stanislav ©   (31.07.06 16:33) [87]
> Плохиш ©   (31.07.06 16:25) [86]
> Игорь Шевченко ©   (31.07.06 16:25) [85]
>
> СМ. 7

На чушь написаную в [7] вроде ответы были даны?

Я ещё больше скажу, моя версия делфи даже неиспользуемые методы выкидывает, во как :-) Правда она лицензионная, это фича наверное лицензии.


Игорь Шевченко   (2006-07-31 16:37:00) [14]

Stanislav ©   (31.07.06 16:33) [87]

Ты же называешь конкретные классы в [84]. У меня вопрос - чем ты определяешь, что при использовании класса ADOCommand, подтягивается класс TADODataSet, TADOQuery, TADOTable

?

Способ из [7] не дает конкретных имен, не так ли ?


Stanislav   (2006-07-31 16:33:00) [15]

Плохиш ©   (31.07.06 16:25) [86]
Игорь Шевченко ©   (31.07.06 16:25) [85]

СМ. 7


Плохиш   (2006-07-31 16:25:00) [16]


> Stanislav ©   (31.07.06 16:19) [84]

Германн уже про голословное утверждение сказал.


Игорь Шевченко   (2006-07-31 16:25:00) [17]


> стандартный модуль ADODB, мне нужен ADOCommand, а подтягивается
> класс TADODataSet, TADOQuery, TADOTable


Чем определяешь, что подтягивается ?


Stanislav   (2006-07-31 16:19:00) [18]

Игорь Шевченко ©   (31.07.06 15:58) [83]

Чтобы далеко не ходить, стандартный модуль ADODB, мне нужен ADOCommand, а подтягивается класс TADODataSet, TADOQuery, TADOTable, понятно что это не более 50%, но в проект включается не только этот модуль.


Игорь Шевченко   (2006-07-31 15:58:00) [19]


> Существует модуль, в котором 10 классов, а мне нужен 1,
> но в exe пойдут все 10 классов из них 9 не нужных.


пример в студию


Stanislav   (2006-07-31 15:55:00) [20]

Ну, если бы вы внимательно прочитали ветку, то вы бы нашли ответы на свой вопрос.
Элементарно. Существует модуль, в котором 10 классов, а мне нужен 1, но в exe пойдут все 10 классов из них 9 не нужных.


Страницы:   1 2 3 4 5 6

Наверх

Титульная страница Поиск, карта сайта Написать письмо