Суббота
16.12.2017
21:31


Форма входа

Приветствую Вас Гость | RSS
Borland Delphi 7
Главная Регистрация Вход
Главная » 2009 » Март » 12 » Delphi 2006 – новая реальность
Delphi 2006 – новая реальность
09:29
ПОСЛЕ ВЫХОДА DELPHI 7 КОРПОРАЦИЮ BORLAND ОЖИДАЛИ СЕРЬЕЗНЫЕ ПРОБЛЕМЫ, ПОТОМУ ЧТО DELPHI 8 И 2005 ПРОЛЕТЕЛИ, КАК ФАНЕРА НАД ПАРИЖЕМ. ПЕРВУЮ ЖДАЛ ПРОВАЛ ИЗ-ЗА ТОГО, ЧТО .NET ЕЩЕ НЕ ПОЛУЧИЛА ДОСТАТОЧНУЮ ПОПУЛЯРНОСТЬ, А ВТОРАЯ ВЕРСИЯ НАКРЫЛАСЬ МЕДНЫМ ТАЗОМ ИЗ-ЗА ГЛЮЧНОСТИ. НО С ПОЯВЛЕНИЕМ DELPHI 2006 ВСЕ ВОЗВРАЩАЕТСЯ НА КРУГИ СВОЯ. ЭТО ШЕДЕВР, КОТОРЫЙ ПОСТЕПЕННО СТАНОВИТСЯ БЕСТСЕЛЛЕРОМ ДАЖЕ В США, ГДЕ ВЛАСТВУЮТ VISUAL C++ И JAVA 

Некоторые считают, что Delphi 2006 - всего лишь исправленная 2005, но это не так. Если посмотреть на размер Reviewer Guide, который занимает аж 70 страниц, то понимаешь, что перед нами совершенно новый продукт, и об этом говорит абсолютно все. Рассмотреть все новые возможности мы не сможем, но по основным нововведениям пробежимся. 
Варианты запуска

Первое, что бросается в глаза после установки Delphi 2006 – это то, что можно запустить среду разработки в одном из трех вариантов: 
 DELPHI DEVELOPER STUDIO – ВКЛЮЧАЕТ В СЕБЯ ВСЕ ВОЗМОЖНОСТИ, НО ЗАГРУЖАТЬСЯ БУДЕТ ОЧЕНЬ ДОЛГО. 
 DELPHI FOR MICROSOFT WIN32 – ЗАГРУЖАЕТСЯ БЫСТРЕЕ, НО ПОЗВОЛЯЕТ СОЗДАВАТЬ ПРОЕКТЫ ТОЛЬКО ДЛЯ ПЛАТФОРМЫ WIN 32.
 DELPHI FOR THE MICROSOFT .NET – НЕТРУДНО ДОГАДАТЬСЯ, ЧТО ГРУЗИТЬСЯ ЭТОТ ВАРИАНТ БУДЕТ ДОСТАТОЧНО БЫСТРО, НО РАБОТАТЬ МОЖНО БУДЕТ ТОЛЬКО С ПРИЛОЖЕНИЯМИ ДЛЯ .NET. 

Скорость загрузки Developer Studio - больная тема. Обширные возможности привели к тому, что полный вариант запускается очень долго, и возможность загрузить только необходимую версию просто неоценима. 
Первый запуск

После запуска среды разработки в редакторе кода появляется закладка Welcome Page с загруженной HTML-страницей. На ней находятся ссылки на разделы документации, в которых можно ознакомиться с новыми возможностями и средой разработки Delphi, что может быть удобным для новичков. 

Через месяц работы (а может быть и сразу) на этой страничке ты будешь использовать только кнопки New, Open Project, Open File и Help, которые располагаются на самом верху, и список последних открытых проектов (Recent Projects). 

Список типов создаваемых проектов немного расширился и зависит от редакции. В наиболее полной редакции можно создавать проекты Delphi для Win32, Delphi для .NET, C# и даже C++ проекты. 
Визуальный дизайнер

Не изменялся уже достаточно долгое время. А действительно, что там можно сделать такого нового, когда среда разработки является самой визуальной?! Оказывается, можно улучшить позиционирование. Что-то подобное есть уже в Visual Studio, но Borland пошла дальше и сделала все намного круче. 

Когда мы двигаем компонент по форме или изменяем его размер, то в определенный момент на экране могут появиться тоненькие полоски, соединяющие два или более компонентов. Это указывает на то, что компоненты находятся на одной линии (горизонтальной или вертикальной). Если линия синего цвета, то компоненты имеют общую нижнюю или верхнюю границу. Если линия красного цвета, то на одной оси находятся центральные точки компонентов. 

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

Как же иногда достает писать эти «begin» и «end;» ;(. Благодаря Delphi 2006 второе больше писать не придется. Просто пишешь «begin», нажимаешь Enter, и «end» появляется автоматически. Первое время меня это даже раздражало, потому что по привычке начинаешь писать слово «end», которое среда разработки уже поставила, но со временем я привык и очень доволен. 

Для переключения между визуальной формой и редактором кода используется клавиша <F12>. Редактор кода в Delphi также претерпел значительные изменения. Первое, что бросается в глаза – возможность сворачивать участки кода. Слева можно видеть полосу с такими же квадратиками, как и в дереве TreeView. Щелкая по этим крестикам, можно сворачивать и разворачивать код процедур или объявления методов. 

Если ты уже отработал какую-то процедуру, оптимизировал и отладил ее работу, то можно закрыть код, чтобы он не занимал лишнее место на экране. Вместо тела процедуры в редакторе будет отображаться только ее имя и параметры. 

После закрытия среды разработки все закладки теперь сохраняются, что очень удобно. Меня раздражала необходимость расставлять закладки при каждом открытии проекта в тех местах, над которыми я сейчас работаю. Напоминаю, что закладки устанавливаются клавишами <Ctrl+Shift+Цифра>. 

Ах да, есть еще одна очень интересная новая фишка – напротив измененных строк теперь появляются желтые полоски. Таким образом, сразу видно, какие строки в модуле мы сегодня редактировали или добавляли. Если строка изменялась, но уже была сохранена, то полоса изменяет свой цвет на зеленый. Это мелочь, но очень приятная и удобная.
Менеджер памяти

Теперь поговорим о невидимом изменении, которое получат все твои программы, скомпилированные в Delphi 2006 – это новый менеджер памяти FastMM. Он повышает производительность Win32-приложений. Просто перекомпилируй проект в Delphi 2006 и все! Новый менеджер намного лучше и быстрее освобождает нужную память.

В приложениях .NET такой фишки нет, потому что тут менеджер памяти самой платформы .NET и Borland Delphi повлиять на него практически не может. 
Совместная работа

Работать над большим проектом в одиночку очень сложно, а если проект очень большой, то просто невозможно. А как же работать над одним проектом большому количеству программистов? Просто разделить задачи или модули не получается, потому что задачи очень часто пересекаются, поэтому необходимо использовать специализированные системы. В Delphi 2006 уже встроена StarTeam – система совместной работы над проектом. 

Конечно же, наличие StarTeam не означает, что ты обязан использовать именно его. Например, я привык использовать более простую Microsift Visual Source Safe и без проблем делаю это. За это я и люблю Borland: она не заставляет использовать строго определенные технологии, а предоставляет возможность выбора. 
Рефакторинг

В новой версии расширены возможности рефакторинга кода. Если кто-то уже работал с версией 2005, то может спросить – куда уже дальше расширять? Что может быть еще проще? Оказывается, есть куда расширять и есть что упрощать. 

В этом же номере ты можешь более подробно узнать о рефакторинге, и все, что там говориться, уже реализовано в Delphi 2006. Только попробуй, и ты ощутишь все преимущества новых возможностей. 
Моделирование

Ну, наконец-то и в Delphi моделирование перестало быть просто информативным: теперь оно позволяет реально воздействовать на исходный код проекта. На мой взгляд, это наиболее мощное нововведение, которое реально упростит жизнь. Теперь визуально можно управлять методами и свойствами, что очень удобно, особенно, когда проект очень большой. Выбери меню View/Model view и ты увидишь панель управления моделями (диаграммами). 

Теперь дважды щелкаем по имени модуля, диаграмму которого хочешь увидеть. В основном окне появится новая закладка, на которой можно увидеть свой класс и связанные с ним классы. 

Теперь посмотрим, как можно управлять этой моделью. Допустим, что необходимо добавить новый член класса - (переменную) типа Integer. Щелкни правой кнопкой в разделе Fields и выбери пункт Add field или просто нажми <Ctrl+W>. На диаграмме в разделе Fields появится новая строка, в которой можно ввести имя свойства и его тип. Чтобы добавить метод, щелкаем правой кнопкой в разделе Methods и выбираем пункт меню Add Function или просто давим кнопки <Ctrl+M>.

Добавлять к классу визуально можно почти все. Щелкни правой кнопкой в шапке модели класса (где написано имя класса) и выбери раздел Add. Как видишь, здесь есть практически все, что только может понадобиться в повседневной жизни. 
Класс с нуля

С помощью UML теперь можно создавать классы с нуля. Давай на простейшем примере ощутим всю мощь моделирования. На панели инструментов выбери кнопку «класс» и создай на диаграмме две модели класса. Одну назовем Class1, а другую TTest. 

Если сейчас заглянуть в исходный код модуля, диаграмму которого мы мучаем, то можно будет увидеть заготовки этих классов. Но не это было нашей целью, смотрим дальше. Выбираем кнопку Association, щелкаем сначала на Class1, а потом на TTest. В результате в классе Class1 будет создана переменная Field1 типа TTest и наведена связь между классами. 

Уже неплохо. Напоследок создадим одну процедуру в классе Class1 с именем TestProc и теперь посмотрим на исходный код:

TTest = class
end;
Class1 = class
public
procedure TestProc;
var
Field1 : TTest;
end;
procedure Class1.TestProc;
begin
end;

Мы просто визуально описали то, что нам будет нужно, а Delphi автоматически создал весь необходимый код, и нам не пришлось писать ни строчки! Все получилось очень быстро и красиво. 

Вот оно - будущее, которое наступает уже сейчас! Вот оно - UML-моделирование и все его преимущества! Мы можем визуально строить модель классов, наводить связи между классами, а потом только перескочить в исходный код модуля и увидеть все, что мы создали, в виде реального кода. Теперь действительно приходиться кодить только логику программы. Моделирование классов и визуального интерфейса происходит визуально. 

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

НОВАЯ DELPHI 2006 ДЕЙСТВИТЕЛЬНО ЗАСЛУЖИВАЕТ ВНИМАНИЯ. МНОГИЕ ПРОГРАММИСТЫ ДО СИХ ПОР СИДЯТ НА DELPHI 7 ТОЛЬКО ПОТОМУ, ЧТО ПОСЛЕДУЮЩИЕ ВЕРСИИ БЫЛИ ПРОВАЛЕНЫ. НО В ДАННОМ СЛУЧАЕ СТОИТ ТОЛЬКО ПОПРОБОВАТЬ, И ТЫ ВЛЮБИШЬСЯ В НОВУЮ IDE И УЖЕ НЕ ЗАХОЧЕШЬ ВОЗВРАЩАТЬСЯ НАЗАД 
ОПТИМИЗАЦИЯ

Я ВСЕГДА ГОВОРИЛ, ЧТО НУЖНО ОПТИМИЗИРОВАТЬ ТОЛЬКО СЛАБЫЕ МЕСТА ПРОГРАММЫ. А САМОЕ СЛАБОЕ МЕСТО – ЭТО ПРОГРАММИСТ. НЕТ, КОНЕЧНО ЖЕ, ЭТО ШУТКА, НО В НЕЙ ЕСТЬ ДОЛЯ ПРАВДЫ. САМОЕ СЛАБОЕ МЕСТО - АЛГОРИТМ, КОТОРЫЙ ПИШУТ ПРОГРАММИСТЫ. НИКАКИЕ ОПТИМИЗАЦИИ, В ТОМ ЧИСЛЕ И ПЕРЕПИСЫВАНИЕ КОДА НА АССЕМБЛЕРЕ, НЕ СДЕЛАЮТ КОД ТАКИМ БЫСТРЫМ, КАК ВЫБОР ПРАВИЛЬНОГО АЛГОРИТМА. ЕСЛИ ТВОЯ ПРОГРАММА РАБОТАЕТ МЕДЛЕННО, ТО ПРЕЖДЕ ЧЕМ ПРИСТУПАТЬ К ОПРЕДЕЛЕННЫМ ДЕЙСТВИЯМ, ОБЯЗАТЕЛЬНО УБЕДИСЬ, ЧТО ДЛЯ РЕШЕНИЯ ДАННОЙ ЗАДАЧИ ИСПОЛЬЗУЕТСЯ САМЫЙ ОПТИМАЛЬНЫЙ АЛГОРИТМ. 

ОПТИМИЗАЦИЯ ОЧЕНЬ СИЛЬНО ЗАВИСИТ ОТ ТИПА ПРОГРАММЫ. СОВСЕМ НЕДАВНО В ИГРОВОМ НОМЕРЕ МЫ ОПИСЫВАЛИ ОПТИМИЗАЦИЮ ГРАФИЧЕСКИХ ПРОГРАММ, А СЕЙЧАС ПРОБЕЖИМСЯ ПО ОСНОВАМ, КОТОРЫЕ ДЕЙСТВУЮТ В ПРИЛОЖЕНИЯХ ЛЮБОГО ТИПА. 

СЛЕДУЮЩЕЕ СЛАБОЕ МЕСТО – ЧАСТО ВЫПОЛНЯЮЩИЙСЯ КОД. СЮДА ВХОДЯТ ЦИКЛЫ, ЧАСТО ИСПОЛЬЗУЕМЫЕ ФУНКЦИИ, ПРОЦЕДУРЫ И МЕТОДЫ. В ДАННОМ СЛУЧАЕ ВЫИГРЫВАЮТ ПРОГРАММИСТЫ C++, ПОТОМУ ЧТО ДЛЯ ЭТОГО ЯЗЫКА СОЗДАНО МНОЖЕСТВО ПРОГРАММ ПРОФИЛИРОВАНИЯ КОДА, ИЛИ ПРОСТО ПРОФИЛЯТОР. ТАКАЯ ПРОГРАММА АНАЛИЗИРУЕТ КОД И ОПРЕДЕЛЯЕТ, НА КАКИЕ ФУНКЦИИ ПРОГРАММА ТРАТИТ БОЛЬШЕ ВСЕГО ПРОЦЕССОРНОГО ВРЕМЕНИ. ИМЕННО ИХ НУЖНО ОПТИМИЗИРОВАТЬ В ПЕРВУЮ ОЧЕРЕДЬ. 

ОПРЕДЕЛИВ ФУНКЦИЮ, НЕОБХОДИМО ОПРЕДЕЛИТЬ ТОТ КОД ВНУТРИ НЕЕ, КОТОРЫЙ ТОРМОЗИТ БОЛЬШЕ ВСЕГО. ЧАЩЕ ВСЕГО ЭТО БЫВАЮТ ЦИКЛЫ, ОБРАЩЕНИЕ К УСТРОЙСТВАМ (НАПРИМЕР, К ЖЕСТКОМУ ДИСКУ), КАКИЕ-ЛИБО ЗАДЕРЖКИ И Т.Д. ПОДУМАЙ, МОЖЕТ БЫТЬ ЕСТЬ СМЫСЛ ЧТО-ТО ЗДЕСЬ ОПТИМИЗИРОВАТЬ. 

ЕСЛИ ТЫ ОЧЕНЬ ЧАСТО ОБРАЩАЕШЬСЯ К ОПРЕДЕЛЕННОМУ ФАЙЛУ, ТО МОЖЕТ ЛУЧШЕ ДЕЛАТЬ ЭТО ТОЛЬКО В ПЕРВЫЙ РАЗ И СОХРАНЯТЬ СОДЕРЖИМОЕ В БУФЕРЕ? ЖЕСТКИЙ ДИСК ОСТАЕТСЯ САМЫМ МЕДЛЕННЫМ УСТРОЙСТВОМ В КОМПЬЮТЕРЕ, ПОТОМУ ЧТО ЭТО МЕХАНИКА, КОТОРАЯ ВСЕГДА БУДЕТ ПРОИГРЫВАТЬ ПО СКОРОСТИ ОПЕРАТИВНОЙ ПАМЯТИ. СТАРАЙСЯ ОПТИМИЗИРОВАТЬ ОБРАЩЕНИЕ К ДИСКУ ТАК, ЧТОБЫ НЕ ПРИХОДИЛОСЬ ЧИТАТЬ ОДИН И ТОТ ЖЕ ФРАГМЕНТ ФАЙЛА. 

МОЖЕТ БЫТЬ, СТОИТ СОКРАТИТЬ ЗАДЕРЖКИ, ИЛИ ВООБЩЕ УБРАТЬ ИХ? ПО-МОЕМУ, ИСПОЛЬЗОВАТЬ ЗАДЕРЖКИ ТИПА DELAY НЕ НУЖНО. ПРОГРАММА ОСТАНАВЛИВАЕТ ВЫПОЛНЕНИЕ И НИЧЕГО НЕ МОЖЕТ В ЭТОТ МОМЕНТ ДЕЛАТЬ. ЛИЧНО Я ЕЩЕ НИ РАЗУ НЕ ВСТРЕЧАЛ ТАКИХ СЛУЧАЕВ, КОГДА DELAY ДЕЙСТВИТЕЛЬНО БЫЛ НУЖЕН НАСТОЛЬКО, ЧТО БЕЗ НЕГО НЕЛЬЗЯ БЫЛО ОБОЙТИСЬ. 

ЕСЛИ ТЫ НЕ ДРУЖИШЬ С ЛОГИЧЕСКИМИ ОПЕРАТОРАМИ, ТО ПОСТАРАЙСЯ ПОДРУЖИТЬСЯ. С НИМИ ПРОЦЕССОР РАБОТАЕТ НАМНОГО БЫСТРЕЕ. А СДВИГИ ВООБЩЕ НЕВОЗМОЖНО СРАВНИТЬ ПО СКОРОСТИ С УМНОЖЕНИЕМ И ТЕМ БОЛЕЕ С ДЕЛЕНИЕМ. ЛУЧШЕ 10 РАЗ СДВИНУТЬ, ЧЕМ ОДИН РАЗ РАЗДЕЛИТЬ. ДА, НА ПЕРВЫЙ ВЗГЛЯД ЛОГИЧЕСКАЯ МАТЕМАТИКА ВЫГЛЯДИТ НЕ ОЧЕНЬ ДОСТУПНО, НО МИНИМУМ СТАРАНИЙ - И ПРИРОСТ СКОРОСТИ НЕ ЗАСТАВИТ СЕБЯ ЖДАТЬ!

НИКОГДА НЕ ПЕРЕДАВАЙ БОЛЬШИЕ ТИПЫ ДАННЫХ В ПРОЦЕДУРЫ ПО ЗНАЧЕНИЮ - ИСПОЛЬЗУЙ УКАЗАТЕЛИ. ДА, УКАЗАТЕЛИ НЕ БЕЗОПАСНЫ, ПОТОМУ ЧТО ЛЕГКО СОВЕРШИТЬ ОШИБКУ, ВЫЙТИ ЗА ПРЕДЕЛЫ ДОСТУПНОЙ ПАМЯТИ. НО НЕМНОГО ВНИМАТЕЛЬНОСТИ, И БЕЗОПАСНОСТЬ НЕ БУДЕТ НАРУШЕНА, А ПРОЦЕССОР ТЕБЯ ОТБЛАГОДАРИТ. ВООБЩЕ, НУЖНО СТАРАТЬСЯ ПЕРЕДАВАТЬ В ПРОЦЕДУРЫ КАК МОЖНО МЕНЬШЕ ПАРАМЕТРОВ. КАЖДЫЙ ИЗ НИХ ПОДНИМАЕТСЯ В СТЕК, ОТНИМАЕТ ВРЕМЯ И ЗАНИМАЕТ ЛИШНЕЕ МЕСТО. В ИДЕАЛЕ, ДОЛЖНО БЫТЬ НЕ БОЛЕЕ 3-Х ПАРАМЕТРОВ, И ЖЕЛАТЕЛЬНО, ЧТОБЫ КАЖДЫЙ БЫЛ НЕБОЛЬШИМ ПО РАЗМЕРУ.

ЕСЛИ КАКИЕ-ТО ПЕРЕМЕННЫЕ ПЕРЕДАЮТСЯ В НЕСКОЛЬКО ПРОЦЕДУР ИЛИ ФУНКЦИЙ, ТО МОЖНО РЕАЛИЗОВАТЬ ИХ В ВИДЕ ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ ИЛИ В ВИДЕ ЧЛЕНОВ КЛАССА. ЭТО РЕШЕНИЕ ПОДДЕРЖИВАЮТ НЕ МНОГИЕ ПРОГРАММИСТЫ, ПОТОМУ ЧТО КОД ПОЛУЧАЕТСЯ НЕ ОЧЕНЬ КРАСИВЫМ, НО ПРОИЗВОДИТЕЛЬНОСТЬ И КРАСОТА – ВЕЩИ НЕСОВМЕСТИМЫЕ. 
ПОСТАРАЙСЯ БЕЗ НАДОБНОСТИ НЕ ИСПОЛЬЗОВАТЬ РЕКУРСИВНЫЙ ВЫЗОВ ПРОЦЕДУР. ЕСЛИ ЗАДАЧУ МОЖНО РЕШИТЬ С ПОМОЩЬЮ ПРОСТОГО ЦИКЛА, ТО ЭТО БУДЕТ НАМНОГО ЭФФЕКТИВНЕЕ. РЕКУРСИЯ ХОРОША, НО ТОЛЬКО В МЕРУ И ТОЛЬКО ТАМ, ГДЕ ЭТО ДЕЙСТВИТЕЛЬНО НУЖНО. 

КОГДА ПРОЦЕДУРА ИЛИ ФУНКЦИЯ ОЧЕНЬ МАЛЕНЬКАЯ И ВЫЗЫВАЕТСЯ ИЗ ДВУХ–ТРЕХ МЕСТ, ТО СЛЕДУЕТ ЗАДУМАТЬСЯ О ТОМ, ЧТОБЫ ОТКАЗАТЬСЯ ОТ НЕЕ. СЭКОНОМИШЬ ЛИШНИЕ ПЕРЕХОДЫ И РАБОТУ СО СТЕКОМ, А ЭТО УЖЕ НЕМАЛО. ТУТ СНОВА РАСХОЖДЕНИЕ С ПРИНЦИПАМИ КРАСОТЫ И РЕФАКТОРИНГА, НО ЧТО ПОДЕЛАЕШЬ. 

НА ЭТАПЕ ЗАГРУЗКИ ДОЛЖНЫ СОЗДАВАТЬСЯ ТОЛЬКО САМЫЕ НЕОБХОДИМЫЕ И ЧАСТО ИСПОЛЬЗУЕМЫЕ ФОРМЫ. ПЕРЕМЕННЫЕ ДЛЯ ВСЕХ ОСТАЛЬНЫХ ФОРМ НЕОБХОДИМО ПРОИНИЦИАЛИЗИРОВАТЬ НУЛЯМИ. ПРИ ПЕРВОМ ОБРАЩЕНИИ ПРОВЕРЯЕМ, ЕСЛИ ПЕРЕМЕННАЯ РАВНА НУЛЮ, ТО ФОРМА НЕ БЫЛА ИНИЦИАЛИЗИРОВАНА, И ЭТО НЕОБХОДИМО СДЕЛАТЬ СЕЙЧАС, ИНАЧЕ ОКНО МОЖНО УЖЕ ОТОБРАЖАТЬ. ТАКИМ ОБРАЗОМ, ПЕРЕД ОТОБРАЖЕНИЕМ ФОРМЫ ДОБАВЛЯЕТСЯ ОДНА ПРОВЕРКА, ЗАТО ПРОГРАММА БУДЕТ ЗАПУСКАТЬСЯ НАМНОГО БЫСТРЕЕ. 

ЕСЛИ ФУНКЦИЯ УЖЕ ОПТИМИЗИРОВАНА, И ДАЛЬШЕ УЖЕ НЕКУДА, А СКОРОСТЬ РАБОТЫ ВСЕ ЕЩЕ ОСТАВЛЯЕТ ЖЕЛАТЬ ЛУЧШЕГО, ТО ПРОСМОТРИ КОД ЕЩЕ РАЗ. ЕСЛИ СНОВА НЕ НАШЕЛ ВАРИАНТОВ, ТО ТОЛЬКО В ЭТОМ СЛУЧАЕ СЛЕДУЕТ ПЕРЕХОДИТЬ К ПЕРЕПИСЫВАНИЮ УЧАСТКОВ КОДА НА АССЕМБЛЕРЕ. ЛУЧШЕ, ЕСЛИ БУДЕТ ИСПОЛЬЗОВАТЬСЯ ИМЕННО ВНЕШНИЙ АССЕМБЛЕР, А НЕ ВСТРОЕННЫЙ. СКОРОСТЬ ВСТРОЕННОГО АССЕМБЛЕРА ТАКЖЕ НЕВЫСОКА. ТУТ ГЛАВНОЕ СОЗДАВАТЬ ПРАВИЛЬНЫЕ ФАЙЛЫ, ВЕДЬ DELPHI НАКЛАДЫВАЕТ ОПРЕДЕЛЕННЫЕ ТРЕБОВАНИЯ НА ПОДКЛЮЧАЕМЫЕ OBJ-ФАЙЛЫ. НО ЭТО ОТДЕЛЬНАЯ ТЕМА, О КОТОРОЙ УЖЕ ПИСАЛ «ХАКЕР». 

ПРИ НАПИСАНИИ МАЛЕНЬКИХ УТИЛИТ С ПРОСТЕЙШИМ ИНТЕРФЕЙСОМ ПОДУМАЙ: МОЖЕТ БЫТЬ СТОИТ ВООБЩЕ ОТКАЗАТЬСЯ ОТ VCL И НАПИСАТЬ ВСЕ НА ЧИСТОМ WINDOWS API? ЭТО НЕ ТАК УЖ И СЛОЖНО, ВЕДЬ ПРОГРАММИСТЫ НА С ПИШУТ ТАКИЕ ПРОГРАММЫ, А ЗНАЧИТ СМОЖЕШЬ И ТЫ. НУЖНО ТОЛЬКО НЕМНОГО ОПЫТА И ЕЩЕ МАЛЕНЬКИЙ СТАКАНЧИК ЗНАНИЙ. ПРИ ИСПОЛЬЗОВАНИИ VCL КОМПИЛЯТОР НАГРАЖДАЕТ ПРОГРАММУ ВАГОНОМ НЕНУЖНЫХ ФУНКЦИЙ, КОТОРЫЕ МОГУТ НИКОГДА НЕ ИСПОЛЬЗОВАТЬСЯ В МАЛЕНЬКОЙ УТИЛИТЕ. 

ЭТО БАЗОВЫЕ ЗНАНИЯ ОБ ОПТИМИЗАЦИИ, НО ДАЖЕ ИХ ДОСТАТОЧНО, ЧТОБЫ ПОДНЯТЬ ПРОИЗВОДИТЕЛЬНОСТЬ ПРОГРАММЫ В РАЗЫ. 

ХОЧЕШЬ, ЧТОБЫ КОД БЫЛ БЕЗОПАСНЫМ? ТОГДА НЕ СТЕСНЯЙСЯ ДЕЛАТЬ ПРОВЕРКИ ВСЕГО И ВСЯ. ПРОВЕРЯЙ РЕЗУЛЬТАТЫ ВЫПОЛНЕНИЯ ВСЕХ ФУНКЦИЙ И ОСОБЕННО ДОСТУП К РЕСУРСАМ 

ИСПОЛЬЗУЙ СОВРЕМЕННЫЕ ТЕХНОЛОГИИ УЖЕ СЕЙЧАС, ИНАЧЕ ОТСТАНЕШЬ, И ДОГОНЯТЬ ПРИДЕТСЯ ОЧЕНЬ ДОЛГО И НУДНО

DELPHI 2006 МОЖНО ОТНЕСТИ К РЕВОЛЮЦИОННОМУ ОБНОВЛЕНИЮ, ПОТОМУ ЧТО ПО СРАВНЕНИЮ С DELPHI 7 ИЗМЕНИЛОСЬ ПРАКТИЧЕСКИ ВСЕ

Категория: Статьи участников клуба | Просмотров: 1079 | Добавил: delphi | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Меню сайта

Разделы новостей
Программные обеспечения [6]
Учебники и справочники Delphi [15]
Лабораторные работы [2]
Статьи участников клуба [36]
Советы и трюки [1]

Календарь новостей
«  Март 2009  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031

Поиск

Друзья сайта

Мини-чат

Наш опрос
Оцените мой сайт
Всего ответов: 71

Статистика

Copyright MyCorp © 2017