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

Вниз

Очистка 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.63 MB
Время: 0.045 c
15-1157044831
Вольный Стрелок
2006-08-31 21:20
2006.09.24
Как правильно?


15-1157346730
Ega23
2006-09-04 09:12
2006.09.24
С Днём рождения! 3 сентября


2-1157371407
Ефимыч
2006-09-04 16:03
2006.09.24
Подскажите, как сделать, чтоб jpeg не компилировался в exe-шник?


15-1157038248
Sergey Masloff
2006-08-31 19:30
2006.09.24
offtop:Меломаны, кому нужен бы Atomic Rooster? Их есть у меня


1-1155649301
apic
2006-08-15 17:41
2006.09.24
Сервисы.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский