Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Очистка USES   Найти похожие ветки 

 
Игорь Шевченко ©   (2006-07-31 15:41) [80]

GrayFace ©   (31.07.06 01:52) [74]


> Разбиение на модули действительно ламерское. Например, в
> Forms присутствует uses Controls, а в Controls в implementation
> uses Forms.


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


> И вместо initialization надо было инициализировать по требованию
> в большинстве случаев.


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


 
Германн ©   (2006-07-31 15:47) [81]


> Stanislav ©   (31.07.06 15:39) [79]
>
> Германн ©   (31.07.06 15:28) [78]
>
> В смысле ?
>

В смысле
> большинство программ содержат в себе более 50% лишнего кода.

пока что голословное утверждение!


 
Stanislav ©   (2006-07-31 15:55) [82]

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


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


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


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


 
Stanislav ©   (2006-07-31 16:19) [84]

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

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


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


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


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


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


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

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


 
Stanislav ©   (2006-07-31 16:33) [87]

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

СМ. 7


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

Stanislav ©   (31.07.06 16:33) [87]

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

?

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


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


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

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

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


 
Stanislav ©   (2006-08-01 13:51) [90]

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

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

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


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


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


Именно так.


 
GrayFace ©   (2006-08-02 03:33) [92]

Игорь Шевченко ©   (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]
Правда она лицензионная, это фича наверное лицензии.


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


 
GrayFace ©   (2006-08-02 03:39) [93]

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


 
jack128 ©   (2006-08-02 08:22) [94]

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


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

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


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

GrayFace ©   (02.08.06 03:33) [92]


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


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


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


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


 
GrayFace ©   (2006-08-08 11:32) [96]

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

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


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


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

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


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

GrayFace ©   (08.08.06 11:32) [96]


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


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


 
GrayFace ©   (2006-08-10 10:21) [99]

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

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


 
GrayFace ©   (2006-08-10 10:23) [100]

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

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


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


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

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



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

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.66 MB
Время: 0.034 c
15-1157131916
Dbn
2006-09-01 21:31
2006.09.24
Проблема с компом, точнее с подключеним в интернет.


15-1157243641
RASkov
2006-09-03 04:34
2006.09.24
Сенькс за помощь


15-1157438920
iii
2006-09-05 10:48
2006.09.24
Статус...


2-1157425631
RoNaBoU
2006-09-05 07:07
2006.09.24
XOR


15-1156938728
GetW
2006-08-30 15:52
2006.09.24
проблема с dvd