delphi 64 bit приложение

Скачать бесплатные Delphi Community Edition

Полнофункциональная бесплатная среда разработки Delphi для создания родных кросс-платформенных приложений

Что вы получаете с бесплатным Delphi Community Edition?

Чтобы узнать больше о Delphi Community Edition, Нажмите здесь

Доступные обновления продукта:

Лицензия Community Edition не предназначена для ознакомительных целей. Если Вы не соответствуете этому требованию лицензии Community Edition и хотите ознакомиться с возможностями продукта, загрузите бесплатную 30-дневную пробную версию, которая включает дополнительные функции, доступные в других редакциях продукта.

* Действуют специальные условия и ограничения. Нажмите для просмотра.

Специальные условия и ограничения для Community Edition

Пожалуйста, внимательно ознакомьтесь с условиями Лицензионного Соглашения с конечным пользователем Embarcadero Community Edition здесь, прежде чем скачать программное обеспечение Embarcadero Community Edition бесплатно. Кроме того, ознакомьтесь с часто задаваемыми вопросами о Community Edition здесь. Если Вы не полностью соблюдаете условия лицензии Community Edition, пожалуйста, не загружайте версию программного обеспечения Community Edition. Любое использование программного обеспечения Community Edition без соблюдения всех условий, изложенных в его Лицензионном Соглашении, характеризуется как несанкционированное использование защищенного авторским правом программного обеспечения Embarcadero.

Обратите внимание на ниже приведенные обобщенные ограничения лицензии Community Edition. Полный список условий использования программного обеспечения Community Edition см. в Лицензионном Соглашении Community Edition.

Источник

Автоматизированная сборка Delphi-приложения

Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения «ручками», что далеко не production-решение, а со стороны выглядит кустарщиной и «делаем на-коленке», хотя продукты бывают весьма серьёзными и продаваемыми. Вероятно, это пошло ещё с тех пор, когда для автоматизации нужно было придумывать свои батнички, которые запускали компилятор командной строки dcc32 с нужными параметрами. Некоторые даже сделали свой «Публикатор» — Delphi-expert, который делает работу сервера сборок: компилирует (правда, открытый в IDE) проект, выставляя ему взятый из какой-то БД инкрементированный номер версии, записывает некий changelog и копирует это куда-то в сетевой каталог.

Я не буду вдаваться в исторический экскурс как было раньше. Я расскажу как есть/можно сейчас, и как это использовать для повышения эффективности своей работы.

Скрипты сборки MSBuild также используются для описания проектов, например, Visual Studio. Я коснусь некоторых деталей MSBuild, но я предлагаю читателю самостоятельно освоить его азы. Что нам это даёт? Это позволяет нам выполнить сборку Delphi-проекта из командной строки одной строчкой (что, в свою очередь, позволяет автоматизировать сборку проекта)

Если же читатель откроет командную строку в каталоге с проектом (hint: это можно быстро сделать, щёлкнув правой кнопкой мыши (ПКМ) на проекте в IDE — Show in Explorer, затем в Проводнике ПКМ — Открыть окно команд), то вышеприведённая команда не сработает:

т.к по умолчанию, пути к MSBuild-у в PATH нет. Так что добавим его туда:

в коде для контроля исполняемого файла добавим такое:

и убедимся, что conditional defines в настройках проекта для Release и Debug-конфигураций содержат RELEASE и DEBUG, соответственно

Так что нужно лишь задать свойство Config в нужное нам значение, и собираться будет нужная конфигурация:

но что это? тут нет условия (если не задано), и свойство задаётся всегда, сможем ли мы его переопределить? попробуем

DCC_Exeoutput задался и для каждой задачи MSBuild — это хорошо, но каждая конфигурация скомпилировала файл в один и тот же каталог. Тогда зададим подкаталоги соответственно конфигурации:

и теперь на выходе мы имеем два файла

Теперь представим, что у нас есть желание/необходимость временно задавать conditional define при сборке проекта (например, у нас есть демо-версия, в которой мы ограничиваем функциональность нашей программы, если задано переменная условной компиляции TRIAL )

В нашем демо-коде это выглядит так

Ага, т.е. если задать /p:DCC_Define=TRIAL,

Сработало, но как-то не так, куда-то делись DEBUG и RELEASE, а нам такого не надо, т.к. у нас там обычно куча полезных define-ов.
А дело в том, что свойства заданные через командную строку имеют высший приоритет, и переопределяют значения в скриптах. Но выход есть.
Определяем переменную окружения DCC_Define :

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

Однако ж, при таких частых сборках может стать проблема нумерации версий. Какая? Каждая новая сборка будет иметь ровно ту версию, которая прописана в свойствах проекта, а менять её с каждым коммитом — как-то рутинно и не «по-нашенски», к тому же, зависит от разработчика человека (а что такое «человеческий фактор» — не мне вам рассказывать).

Любознательный читатель наверняка уже догадывается как примерно такое использовать.
Добавим в наш DelphiAutomatedBuild.dproj

(Условие «$(MSBuildToolsVersion) >= 4.0» необходимо для того, чтобы проект не падал с ошибкой при сборке в IDE, которая, как мы помним, использует MSBuild 3.5, который не поддерживает UsingTask)

Поставим в свойствах проекта «Include version information in project» и добавим вывод текущей версии (оставим это за скобками), и:

Заключение

Так мы научились автоматизированно собирать Delphi-приложения одной командой, что экономит нам время и нервы, в том числе, за счёт того, что позволяет переложить компиляцию и выпуск релизов на сервер сборок, и тем самым застраховаться от ситуаций, когда проект собирается только на машине разработчика. К тому же, позволяет автоматизировать простановку версии как каждой сборки (на каждый коммит), так и увеличение релизной версии при выпуске релиза.

В дальнейшем я ещё планирую рассказать

З.Ы. Буду рад ответить на любые вопросы, в том числе, в телеграме, как в личке, так и в чатах @Delphi_Lazarus и @DelphiCommunity

Источник

Delphi Notes

Заметки Delphi + Oracle программиста

Страницы

четверг, 29 сентября 2016 г.

А Вы перешли на WIN64?

Однажды я писал о переходе на Unicode. Теперь настало время адаптации приложений под Win64.

Ах да, ещё Oracle Instant Client нужен 64-битный. Тут всего один момент: почему-то последние лайт-версии клиента валят ошибками, поэтому мы остановились на 10.2.0.5, благо оно пока ещё доступно для скачивания.

А вы поставляете 64-битные версии приложений своим клиентам?

P.S.: Порадовала возможность прозрачной отладки 64-битного приложения из 32-битной среды разработки.
P.P.S: SendMessage окну другого приложения из-под отладчика не работает, или работает неправильно. Пока не понял.

18 коммент.:

64-х битный отладчик хуже 32-х битного, по крайней мере в XE5.
На проекте, состоящем из нескольких DLL, постоянно возникают проблемы с отладкой.
Еще люди жалуются на медленный RTL. Но в общем-то работать можно.

blank

в x64 счетчики и некоторые важные переменные во внутреннем коде списков (например TList.Count) остались Integer т.е. 32-бита

blank

Вы бы поделились обновленным TB2k.

blank

Mark, Вам действительно надо хранить в динамическом списке более 2^31 элементов?

blank

blank

Александр Алексеев, угу, поэтому я и пишу в следующей заметке про ключевые слова для поиска. Т.е. search and review. Плюс RunTime-тестирование, без этого никак.

А вот интересно тип индекса (счетчика) для динамического массива имеет значение?

blank

Ruzzz
Откройте System.pas, там можно найти примерно такое:

TDynArrayRec = packed record
RefCnt: LongInt;
Length: NativeInt;
end;

А также:
function __DynArrayLength(const A: Pointer): NativeInt;

Возможно для динамических массивов генерируется NativeInt, но это уже надо смотреть выходной asm.

Да это самое первое что сделал.
Я имею ввиду, будут ли какие-то накладные расходы, например если 32 битный счетчик, индекс под 64бит.
Установлю 64-битный компилятор, поизучаю.

Да. Хуже. Медленнее. И исключения перестаёт показывать.

И покрытие тестами ;)

На самом деле все иструкции 64битные. Что mov rax, rcx, что mov eax, ecx. Это в интеловской спецификации написано.

Написать на асм можно и под 64 бита. Но всё время надо помнить о том, что вызывающая функция должна распределять фрейм для spill регистровых параметров. Поэтому по факту просто написать только листьевые функции. Поэтому парни с rtl и не стали заморачиваться. Ну а pos можно и свой написать. Если действительно тормозит.

Компилятор местами ругается на преобразования. За что ему спасибо.

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

Источник

Делфи 7

Borland Delphi — это популярная среда объектно-ориентированного программирования среди разработчиков программного обеспечения под Windows. Изначально она создавалась под операционную систему Microsoft Windows. Первые версии Делфи во главу угла ставили язык программирования Object Pascal, представляя собой всего лишь редактор, настроенный на синтаксис этого языка. Через некоторое время он начал своё самостоятельное развитие в полноценную среду разработки. Считается, что именно Делфи положил основу всем визуальному программированию под Win.

Бесплатно скачать Делфи 7 для Windows:

download

Лицензия Проприетарная
Операционная система Windows 10, 8.1, 8, 7, Vista, XP
Интерфейс Русский и английский
Разработчик Embarcadero Technologi
Категория программы Интегрированная среда разработки

История создания Делфи 7

Структурная среда программирования Делфи работает на языка Object Pascal, который в свою очередь происходит от языка Турбо Паскаль. Со временем в Object Pascal добавилась технология RTTI, то есть возможность определения типа данных и доступа к описанию их классов и членов, которая соответственно перешла и в Делфи.

В ответ на выпуск компанией Microsoft среды программирования Visual Basic, в 1995 году свет увидела разработка фирмы Borland — первая версия Delphi. Затем каждый год выпускалась новая версия этого продукта, вплоть до 2002 года, когда вышла всем хорошо известная Делфи 7.

001

Каждая версия имела свои особенности и разительные отличия от предыдущей. Например, в первой была реализована позаимствованная из С++ новейшая модель объектов. Вторая версия и выше предназначены для работы с 32-х разрядной операционной системой.

Описание среды разработки

Основными достоинствами этого программного продукта для разработчиков является:

Встроенный компилятор до сих пор является самым быстрым, он производит компиляцию со скоростью, превышающей 120 000 строк/мин. Его высокая производительность позволяет создавать качественные прикладные программы клиент-серверной архитектуры. Процесс построения становится очень удобным благодаря наличию большого числа готовых компонент, которые можно легко вставить в тело программы, переведя их на поле проекта. Разработчик еще до компиляции может увидеть то, как будет выглядеть готовая программа и внести необходимые коррективы.

002

Еще одним важным достоинством 7 версии Делфи является то, что код можно использовать максимальное количество раз, то есть помимо стандартных 270 базовых классов, пользователь может создавать и использовать сам. Это очень полезная особенность при создании решении сложной и специфической проблемы.

В Делфи 7 предусмотрена возможность подключения к различным корпоративным базам данных. Связь с БД основана на SQL-запросах. В составе программного продукта Делфи 7 присутствуют такие сервисы, как Database Engine и SQL Link. Еще одни плюсом является поддержка локального сервера Interbase.

Отличия от предыдущих версий

Делфи 7 является отдельной ветвью в истории Borland, потому что до сих пор активно используется опытными разработчиками. Основными особенностями этой версии являются:

Причины использования старой версии Делфи

Многие разработчики до сих пор используют именно эту версию программы, хотя вышло уже несколько новых. Происходит это потому, что в своё время Делфи 7 было уделено много внимания, а значит у этой версии повышенная безопасность и большое количество доступных компонент, предназначенных для упрощения процесса написания программы. К тому же в новых версиях зачастую есть много необнаруженных проблем, которые будет очень обидно найти при написании сложной и требующей особого внимания программы. Поэтому те, кто не хочет рисковать, и сейчас используют Делфи 7 в работе. В Делфи написано множество успешных проектов, которые до сих пор очень популярны. Примером такой программы является Total Commander или Skype.

Источник

Программирование на Delphi. Часть 2. Разработка Android-приложения

Продолжаем нашу серию статей по Delphi. В предыдущем материале мы скачали и установили бесплатную версию Delphi и запустили простейшую программу под Windows, сегодня наша цель: разработать первое приложение на платформе Android и запустить его на своём телефоне.

1. Подготовка среды разработки Delphi для создания Android-приложений

Установим все необходимые инструменты для разработки. Нажмите в главном меню Tools — Manage Platforms

img 2020 01 13 16 29 08

Выберите вкладку Additional Options и там отметьте галочками Java Development Kit 1.8 и Android SDK 25.2.5 — NDK r17b. Нажмите Apply — это запустит процесс скачивания и установки компонентов.

img 2020 01 13 16 29 47

Процесс довольно длительный, может потребоваться перезапуск среды разработки. Старайтесь не нагружать компьютер другими операциями. После успешного завершения вы увидеть надпись Operation Completed.

img 2020 01 13 17 02 19Нажмите Start working — среда разработки готова к созданию Android-приложений.

ЗАМЕЧАНИЕ. Я протестировал разные варианты установки компонентов Android на нескольких компьютерах и операционных системах. В том числе: когда SDK уже установлено (с Android Studio), когда компоненты ставились вручную с серверов Google, когда использовалась виртуальная машина AdoptOpenJDK. Если вы хотите пойти таким же сложным путём (ручная установка), вот некоторые параметры работающих версий: AdoptOpenJDK (Windows 64-bit OpenJDK 8 (LTS) with HotSpot JVM), Android SDK (sdkmanager «build-tools;29.0.0» «extras;google;usb_driver» «platforms;android-26» «tools» «platform-tools» ), Android NDK r17b.

Если автоматическая установка не сработает, пишите вопросы в комментариях — я постараюсь ответить и дополнить статью.

2. Подготовка проекта Android-приложения

Нажимаем на главном экране (Welcome Page) Create a new Multi-Device Application — Delphi.img 2019 12 16 18 19 28

Выбираем Header/Footer (шаблон приложения с шапкой и подвалом) и жмём ОК.

img 2019 12 16 18 20 18

Создаем папку проекта, я рекомендую поместить её в каталог C:\work и назвать HelloAndroidimg 2019 12 16 18 21 08

Внесем небольшие изменения в наше приложение. В шапке формы напишем Привет Android. Для этого нажмём на метку HeaderLabel на форме и слева внизу найдём параметр Text.

Изменим его значение на Привет Android — и увидим, что изменился текст на форме.

img 2019 12 16 18 24 39

Запустите эту программу под Windows (нажмите F9) — вы увидите обычную форму. Программа работает.

Переключим целевую платформу для компиляции приложения на Android в правом верхнем углу экрана (дважды щёлкните названии платформы).

img 2019 12 16 18 25 12

Без телефона запустить приложение не получится. Давайте его настроим.

3. Настройка телефона для разработки Android

К сожалению, каждый телефон настраивается по-своему. Я расскажу общую схему на примере моего Xiaomi Redmi Note 4.

Для начала нужно включить режим разработчика. Необходимо зайти в Настройки — О телефоне и семь раз тапнуть пункт — версия MIUI (для телефонов Huawei, например, нужно сделать следующее: окне «О телефоне» необходимо не менее 7 раз нажать по строчке «Номер сборки»).

После этой процедуры зайдите в пункт меню Расширенные настройки, там нажмите Для разработчиков.

screenshot 2020 01 17 11 35 53 275 com.android.settings

В меню разработчиков нужно включить кнопку Отладка по USB и затем Установка через USB. (Нюанс: для Redmi Note 4 в этот момент должна быть вставлена SIM-карта. После включения этих опций симку можно вынуть).

screenshot 2020 01 17 11 36 00 816 com.android.settings

На других телефона процедура выглядит примерно также. Для вашей модели телефона инструкцию включения режим разработчика ищите в Google по запросу: «как включить режим разработчика для *название телефона*» или «как включить отладку по USB для *название телефона*».

После включения этих опций берёте хороший USB-кабель (например, которым заряжаете ваш телефон) и подключаете к компьютеру. На Windows 10 драйвера не потребовались, телефоны Android система определяла сама. Для Windows 8 потребовалось скачать ADB-драйвера для конкретной модели телефона. Они также гуглятся. Скачать подошедший мне adb-драйвер можно с нашего сайта.

При подключении устройства телефон может попросить разрешить отладку через USB для конкретного компьютера. Ставим галку и соглашаемся, нажав ОК. Если не успели, вытаскиваем кабель и вставляем снова.

screenshot 2020 01 13 13 17 40 899 com.android.systemuiНо может и не попросить, зависит от модели. Теперь важно, чтобы телефон увидела Delphi.
Скорее всего, после успешного подключения среда разработки подхватит устройство автоматически. Если этого не произойдёт, попробуйте нажать кнопку Refresh devices (обновление устройств). Справа от надписи Android вы увидите название вашего смартфона.

img 2020 01 17 12 37 05

Всё готово к запуску приложения.

4. Запуск приложения на Android

Нажмите F9 (зелёный треугольник в панели управления) для запуска приложения.

Пока программа будет компилироваться, внимательно следите за вашим устройством Android. После создания файла apk (установочного файла Android-приложения) на компьютере он будет передан на ваш смартфон. Например, мой Xiaomi Redmi Note 4 даёт только 10 секунд на подтверждение установки. Если вы не уложитесь в это время (не успеете нажать Установить), установка будет отклонена и её нужно будет запускать заново, нажав F9 в Delphi.

К счастью, можно запомнить этот выбор для конкретного приложения. Ставьте галку (на скриншоте я ещё это не сделал) и нажимайте Установить, когда увидите подобный экран:

screenshot 2020 01 13 13 18 53 565 com.miui .securitycenter

Подождите ещё немного — и приложение запустится! Ура!

screenshot 2020 01 13 17 13 35 332 com.embarcadero.headerfooterapplicationЗначок приложения появится также на рабочем столе вашего смартфона — вы можете запустить его снова или удалить. Для продолжения работы удалять его не нужно, при запуске новых версий из среды разработки Delphi будет заменять его на более свежую версию.

НЮАНС. Если один раз приложение установилось, а потом появляется ошибка, попробуйте удалить его с устройства. Это может быть связано с изменениями настроек телефона, подключением телефона к другому компьютеру и т.д.

screenshot 2020 01 13 17 08 05 755 com.miui .homeПока приложение совсем простое. Усовершенствуем его — добавим ввод данных.

5. Ввод данных в Android-приложении

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

img 2020 01 13 17 22 05

Под ним добавьте компонент кнопки TButton, как в предыдущем уроке. На самой кнопке напишите слово Приветствие, использовав его поле Text в инспекторе объектов. Ваш экран будет выглядеть примерно так: img 2020 01 13 17 27 12

И для текстового поля, и для кнопки измените в инспекторе объектов следующие свойства:

Элементы прижмутся к верхней части формы и станут в 2 раза выше, это сделает работу с программой удобнее (особенно на Android). Выглядеть в среде разработки это будет вот так:

img 2020 01 17 13 31 59

6. Нажатие кнопки

Теперь напишем обработчик события — нажатия кнопки. Для этого дважды щёлкните на кнопке с надписью Приветствие — откроется редактор кода. Впишите (или скопируйте с этой страницы) туда следующий текст:

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • delphi 7 свойства формы
  • delphi 7 ошибка при направлении команды приложению