Delphi 7 не работает на windows 10. Обзор бесплатной версии Delphi. Добавление справочной системы

Это статья по мотивам вопросов на форумах: "Как мне вернуть строку из DLL?", "Как передать и вернуть массив записей?", "Как передать в DLL форму?".

Чтобы вам не тратить половину жизни на разобраться - в этой статье я принесу всё на блюдечке.

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

Важное примечание : статью нужно читать последовательно . Примеры кода приводятся только как примеры , на каждом шаге (пункте) статьи код примеров добавляется новыми подробностями. Например, в самом начале статьи нет обработки ошибок, указываются "классические" способы (типа, использования GetLastError , соглашения sdtcall и т.д.), которые по ходу статьи заменяются на более адекватные. Сделано так по той причине, чтобы "новые" ("необычные") конструкции не вызывали вопросов. Иначе при пришлось бы к каждому примеру вставлять примечание вида: "вот это обсуждается в том пункте ниже, а вот то - в этом вот". В любом случае в конце статьи есть ссылка на уже готовый код, написанный с учётом всего сказанного в статье. Можете просто его брать и использовать. А статья объясняет зачем и почему. Если вам не интересно "зачем и почему" - листайте в конец к заключению и ссылке на скачивание примера.

Сегодня решил добавить еще одну рубрику на блог, под названием «Программирование». Просто иногда приходится вникать в эту область, разбираться, учиться и программировать хоть не много. И иногда появляется информация, которую необходимо сохранить, чтобы по надобности быстро найти. Писать в этой рубрике буду о разных языках программирования, но в основном, я думаю, будет язык Delphi. Почему? Да нравится он мне просто!

В первой статье будет разобран вопрос о том, как установить компонент на Delphi 7. Читаем!

Иногда возникает такая ситуация, когда стандартных компонентов среды не хватает, не смотря на то, что их огромное количество, для реализации тех или иных функций программы, которую вы пишите и поэтому, приходится устанавливать дополнения (компоненты) или писать их самому. Но зачем изобретать велосипед, ведь есть готовые решения уже. Однако руководств по установки компонентов на Delphi 7 (Делфи 7) я сразу не нашел. Попадались лишь обрывки предложений и предположений. Поэтому я решил все расписать по пунктам, для себя и для вас.

Установка компонента на Delphi 7 по шагам:

1. Запускаем Delphi 7.

2. В меню выбираем «Component», затем «Install Component…». Откроется окно, представленное на рисунке ниже.

3. В открывшемся окне, напротив поля «Unit file name:» нажимаем на кнопку «Browse…» и указываем путь к файлу *.pas компонента, нажимаем «Открыть», и «ОК» в первоначальном окне.

Должно открыться окно примерно следующего содержания (рисунок ниже).

Нажимаем кнопку «Yes» для компиляции. После компиляции окно можно закрыть.

Поздравляю, компонент установлен!

Осталось его зарегистрировать и указать местоположение, а делается это следующим образом:

4. Идем в меню, выбираем пункт «Tools» и выбираем «Environment Options…». В открывшемся окне переходим на вкладку «Library», вид окна представлен на картинке ниже.

5. Нажимаем на кнопку «…» напротив первой строки, где написано: «Library path:», откроется окно, вид которого представлен ниже.

6. В открывшемся окне нажимаем на кнопку «…» она там одна, ни с чем нельзя перепутать:). В появившемся окне выбираем папку, в которой находится компонент, и нажимаем «ОК». Затем нажимаем кнопку «Add», которая стала активной. Закрываем открытые окна на кнопки «ОК».

Готово! Процесс установки компонента на Delphi 7 закончен! Можно использовать его в полной мере!

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

2) Отключаем антивирус и распаковываем архив.

Отключить антивирус очень Важно!

Если не отключить, не сможете активировать программу.

На самом деле вирусов в наших файлах нет! Это всё происки капиталистов!

3) Если в папке "Activator" нет этих файлов:

Значит их скушал хитрый антивирусник ещё при скачивании архива.

3.1) Копируем папку с программами на диск С или любое другое место, где она будет жить постоянно. После активации перемещать папки будет уже нельзя. Или можно, но активировать придётся заново))).

3.2) Запускаем программу.


4) Ждём пока программа запустится, а запускается она около минуты, видимо переживает, что попала к Русским и её будут эксплуатировать на морозе.


Не обращайте внимания на надпись "2013 Release 3" - это просто заставка от старой версии.

4.1) Жмём OK, стрелочки "Вперёд", пока не появится окно регистрации и запускаем генератор ключей, если этого файла нет, смотрите пункт 3 данной инструкции.


5) Вводим в окне генератора и программы Delphi SN 100251, ставим в генераторе правильные галочки и нажимаем KEY , копируем сгенерированный HWKEY в окно регистрации и нажимаем стрелочку "Верёд".


6) Нажимаем кнопку

Сохраняем fileactivation на рабочий стол


Программа выдаст надпись:

Ничего не закрываем, все окна раздвигаем по бокам рабочего стола и запускаем активатор. Внимание! Если Вы забыли выключить антивирусник, этого файла не будет в папке, либо он не запустится. Чтобы он появился, нужно заново вытащить его из архива при выключенном антивирусе. Либо смотрите пункт 3 данной инструкции.


7) Активируем файл "fileactivation", ранее сохранённый на рабочий стол.

8) После успешной активации, закрываем активатор и даём программе уже активированный файл.

То есть! Снова нажимаем кнопку "START" и "нет".


9) Выбираем тот же самый файл, который был сохранён и активирован ранее, программа запускается.

10) Программа сделает последнюю попытку отказаться работать, предложив Вам обновиться до версии 2013.3.3!

Не соглашайтесь! Это подстава!

11) Активируем лицензию Turbo Charger и Diesel Max

Для этого выбираем в меню HELP , Licence.

Откроется такое окно, нажимаем "Upgrade Licence"


12) Откроется окно:


Выбираем "Upgrade licence to Diesel Max" и OK.

Если Вы не открывали генератор ключей ранее или закрыли его, то он находится в этой папке:


Генерируем ключ для Diesel Max , копируем в окно и нажимаем OK



13) Аналогично активируем лицензию Turbo Charger



14) Всё активировано. Теперь выбираем в настройках нужный язык.

В верхнем меню выбираем "Settings", затем выбираем "Language".


Нажимаем OK и перезапускаем программу.

15) Не забудьте сделать для программы ярлык на рабочем столе:


15.1) Созданный ярлык переименуйте в DELPHI CARS 2014.2.2.

16) Заходим в "Настройки оборудования",

подключаем сканер к авто и компьютеру по USB кабелю.

Проходим ТЕСТ и Обновляем прошивку клавишей "Обновить"


17) Аналогично активируем и настраиваем программу для грузовых авто, меняются только ключи, перепрошивать сканер уже не нужно.

Ошибка "Unknown error during init


Для WIN7 x64. Если возникает ошибка при установке программ Autocom/Delphi "unknown error during init":

1) Удаляем установленную программу (uninslall).

2) Удаляем папку C:\Users\(ИМЯ ПОЛЬЗОВАТЕЛЯ)\AppData\Roaming\Autocom

3) Удаляем папку C:\ProgramData\Autocom

4) Чистим реестр программой CCleaner.

5) Устанавливаем SQL Server X32

6) Запускаем установку снова. Вуаля! Всё работает!

Так что теперь у вас есть проблема, если вы пишете библиотеку, которая будет использоваться как кодом старой школы, написанным с wchar_t , определённым как псевдоним для unsigned short , так и кодом новой школы, написанным с wchar_t как отдельным внутренним типом. Какой тип данных вам нужно использовать для строковых параметров?

Это перевод The sad history of Unicode printf-style format specifiers in Visual C++ .

Windows реализовала Unicode раньше, чем большинство других операционных систем. В результате решения Windows для многих проблем отличаются от решений, принятых теми, кто подождал, когда пыль осядет¹. Самым ярким примером этого является использование Windows UCS-2 в качестве кодировки Unicode. Тогда это была кодировка, рекомендованная консорциумом Unicode, потому что Unicode 1.0 поддерживал только 65"536 символов². Консорциум Unicode передумал пять лет спустя, но к тому времени было уже слишком поздно для Windows, которая уже выпустила Win32s, Windows NT 3.1, Windows NT 3.5, Windows NT 3.51 и Windows 95 - все из которых использовали UCS-2³.

Но сегодня мы поговорим о строках формата в стиле printf .

Это перевод If FlushInstructionCache doesn’t do anything, why do you have to call it, revisited .

Предполагается, что вы будете вызывать функцию FlushInstructionCache , когда вы генерируете или модифицируете исполняемый код в run-time - чтобы процессор при выполнении вашего сгенерированного/модифицированного кода читал бы написанные вами инструкции, а не старые инструкции, которые могут остаться в кеше команд процессора.

Ранее мы узнали, что . Это потому, что простого вызова функции было достаточно, чтобы очистить кэш команд.

Но в Windows NT функция FlushInstructionCache выполняет реальную работу, поскольку ей необходимо уведомить все остальные процессоры о необходимости очищать их кэши.

Однако если вы посмотрите на Windows 10, то вы обнаружите, что функция FlushInstructionCache выглядит как версия для Windows 95: она ничего не делает .

В чём тут дело?

Цель урока: Подготовить среду разработки Borland Delphi 7 для наших дальнейших экспериментов .

Почему выбрана именно среда Borland Delphi 7 ?
Borland Delphi 7 - это одна из стабильных и проверенных временем версий языка Delphi (получить можно ). До сих пор в ней ведутся разработки, как крупных проектов, так и мелких. И по сей день она успешно справляется с задачами. Многие программы, разработанные в Borland Delphi 7 , благополучно работают и на операционных системах Windows 7 (x84, x64). Есть небольшая проблема в новых версиях ОС Windows с отображением справки Delphi , но пара манипуляций позволяет это исправить. Кстати, по поводу справки Delphi , она очень подробная и понятная (как правило, это редкость в языках программирования), хотя и англоязычная. В далеких "нулевых", когда я только начинал знакомиться с данной средой (точнее первое знакомство было с Borland Delphi 4, 5 и 6), справка была спасателем и путеводителем. На то время, интернет еще был не настолько развит и наполнен форумами, статьями как сейчас (да и вообще, доступ к инету это была мечта:)), а книги дороги и по существу в них информации минимум, справка была вещь не заменимая. Так же, IDE среда разработки Borland Delphi 7, на мой взгляд, для начинающих (да и вообще для разработчиков) интуитивно более понятна и проста в освоении, чем более младшие версии языка (в последующих версиях очень запутали и усложнили интерфейс). Но, есть один приятный момент, большинство приложений написанных в Delphi 7 , легко открываются и компилируются в более поздних версиях языка (только с используемыми сторонними компонентами могут возникнуть некоторые проблемы).
Что-то увлекся я:)

Итак, приступим!

После того, как Вы вставили диск с дистрибутивом Delphi 7 произойдет автозапуск и Вы увидите меню с выбором приложений для установки (если запуск не произошел, то зайдите на диск и запустите install . exe) . Нас пока интересует только пункт «Delphi 7 ». Щелкаем по нему.

После подготовки к установке появится окно приветствия. Жмем «Next>»

В этом окне нас просят ввести серийный номер и ключ авторизации. Для прохождения данного шага введите ключи указанные на диске или поищите в содержимом диска.

После того, как Вы ввели регистрационную информацию, будет предложено ознакомится с лицензионным соглашением и дать свое согласие. Как только Вы «прочтете» соглашение, необходимо отметить «I accept the terms in the license agreement». Жмем «Next>»

На следующем шаге предложен выбор типа установки: Typical (полный), Compact (установка только необходимых компонентов языка), Custom (ручной). Выбираем тип «Typical». Жмем «Next>»

Возможно, выскочит следующее сообщение. Жмем «Нет».

На данном шаге нам будет предложено включить или отключить установку VisiBroker/Corba. В рамках обучения данная поддержка нам не пригодится, так что отключаем. О том, что это такое можете почитать в Wiki . Жмем «Next>»

На данном этапе, будет предложено выбрать, какой офис будет поддерживаться по умолчанию. Ставим Office XP. Жмем «Next>»

Здесь нам предлагают установить InterBase Client. В ближайшей перспективе он нам не нужен. Снимаем галочку. О том, что это такое, читаем . Жмем «Next>».

На этом этапе, нам предложено указать пути установки. Не будем заморачиваться, да и путаница в дальнейшем нам не нужна. Оставляем все по умолчанию. Жмем «Next>»

Итак, наконец-то процесс установки пошел. Сидим, пьем кофе, ждем окончания процесса. :)

После успешного завершения установки мы получим следующее окно.

Все. Поздравляю! Установка завершена. Жмем «Finish» и приступаем к работе (Пуск->Программы->Borland Delphi 7-> Delphi 7). Возможно, потребуется перезагрузка системы.

П.С.: Данная версия отлично работает на Windows 7 x86 и Windows 7 x64. Одно НО!. В Windows 7 нет поддержки старой справки WinHelp32 из-за чего нет возможности пользоваться справкой Delphi. А без нее как без рук:) . Но не переживайте, получите дополнение Windows 6.1- KB 917607 на официальном сайте Microsoft . Устанавливаете и справка работает:). Все!

Похожие публикации