Не запускается программа delphi

Часть урока для новичков

Перед непосредственным написанием программ необходимо усвоить правилами работы над разрабатываемым проектом.

Проект Delphi

  • Главный файл проекта, изначально называется PROJECT1.DPR. Если необходимо переименовать название проекта, нужно перезаписать этот файл, выбрав в меню File команду Save Project As: При задании имени следует придерживаться правил задания имен в Object Pascal. Имя не должно содержать пробелов (используйте в таком случае знак подчеркивания), должно начинаться с буквы (цифры допустимы, но со второй позиции), не должно содержать других символов, кроме букв и цифр. Под каким именем вы сохраняете проект, под таким именем и будет создаваться исполняемый EXE файл, который вы всегда сможете самостоятельно переименовать.
  • Модуль программы, который автоматически появляется в начале работы Unit1. Файл называется UNIT1.PAS по умолчанию, но его можно назвать любым другим именем, вроде MAIN.PAS. Это делается аналогично переименованию названия проекта. Необходимо выбрать в меню File команду Save As: Сохраняется активный модуль в редакторе кода.
  • Файл главной формы, который по умолчанию называется UNIT1.DFM, используется для сохранения информации о внешнем виде формы (окна разрабатываемого приложения). При переименовании названия модуля автоматически меняет свое название.
  • Файл PROJECT1.RES изначально содержит иконку для проекта. Создается автоматически. Имеет одноименное название с названием проекта.
  • Файл PROJECT1.DSK содержит информацию о состоянии рабочего пространства. Состояние окон во время разработки приложения.
  • Исполняемый EXE файл, который создается в процессе компиляции проекта.

Не могу подключить WOW к Delphi

Разумеется, если сохранить проект под другим именем, то изменят название и файлы с расширением RES и DSK.

После компиляции программы получаются файлы с расширениями:

DCU — скомпилированные модули PAS для последующей быстрой компиляции некоторые файлы не перезаписываются

EXE — исполняемый файл

~PA, ~DP — backup файлы редактора. Автоматически создаются и содержат информацию, перед последним сохранением.

Коротко про пункты главного меню Delphi

Пункт меню «File»

  • Первая секция дает возможность управления проектом в целом. Создать новый: (проект, форму, модуль, отчет и т.д.). Создать новый проект. Создать новую форму (окно).
  • Вторая секция позволяет открывать с диска файлы проекта.
  • Третья позволяет сохранять открытые файлы на диске. Здесь можно закрыть активный файл в редакторе кода или закрыть весь проект.
  • Четвертая позволяет подключать в текущий модуль другие в открытом проекте.
  • Пятая управляет печатью.
  • Шестая секция — выход из Delphi.

Каждая строка пункта меню «File», как и другого пункта, объяснена в справке. Выберите меню «File», подведите под интересующий вас пункт и нажмите F1.

✅ Не запускается уже установленный Autocom 2020.23 ошибки запуска автоком

Большинство из пунктов первой секции очевидны. «New Application» начинает новый проект, «Open Project» открывает существующий проект и т.д. Вложенный список «Reopen» позволяет открыть файл или проект, который недавно открывался.

При создании нового модуля Delphi дает ему имя по-умолчанию. Вы можете изменить это имя на что-нибудь более предпочтительное, чтобы название подходило к функциональным принадлежностям данного модуля (например, MAIN.PAS) с помощью пункта для первого сохранения «Save» или для последующего изменения названия «Save As:».

«Save File» сохраняет только редактируемый файл, но не весь проект. Для сохранения всех файлов проекта пользуйтесь «Save All». Вообще всегда удобнее пользоваться пунктом меню сохранить все, чем сохранять файлы по отдельности, тем более, что сохраняются только измененные.

«Close» закрывает файл из окна редактора. Если файл был изменен произойдет запрос сохранений перед закрытием.

«Close All» закрывает все открытые файлы проекта.

Читайте также:
Лучшие программы для vfx

Пункт меню «Edit»

«Edit» содержит команды «Undo» и «Redo», которые могут быть очень полезны при работе в редакторе для устранения последствий при неправильных действиях, например, если случайно удален нужный фрагмент текста или удален компонент из проектировшика форм.

Сохранение проекта

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

Первый шаг — создать поддиректорию для программы. Лучше всего создать директорию, где будут храниться все ваши программы и в ней — создать поддиректорию для данной конкретной программы. Например, вы можете создать директорию LESSONS и внутри нее директории, связанные с тем или иным уроком LES4, которые содержали бы программы, над которыми мы работали.

После создания поддиректории Bя хранения вашей программы желательно выбрать пункт меню «File» «Save All». Сохранить нужно будет два файла. Первый — модуль (unit), над которым Вы работали, второй — главный файл проекта. Здесь и далее сколько окон (форм) в вашем проекте, столько и модулей.

Открытие проекта

Для открытия проекта необходимо выбрать пункт меню файл «Open Project» и выбрать название интересующего вас проекта DPR. При этом открываются как сам проект, так и становятся доступными все привязанные к нему файлы.

Если вы хотите открыть для редактирования отдельный модуль, или модуль формы, необходимо выбрать пункт «Open» и выбрать файл PAS. В этом режиме будет доступно для редактирования только форма и модуль. Чтобы запустить это окно на выполнение сначала открывайте проект.

Часть урока для продвинутых программистов

Запуск других приложений из вашего

Существует две наиболее часто применяемых функций. WinExec и ShellExecute.

Функция WinExec

WinExec, оставлена для совместимости с ранними версиями Windows, но я рекомендую для обычного запуска программы с командной строкой использовать эту. У нее мало параметров запуска.

Используемый модуль — Windows.

Описание: WinExec (FileName: PChar; CmdShow: Cardinal) : Cardinal;

где: FileName — путь, имя запускаемого приложения, параметры командной строки. Все указывается в одной строке;

CmdShow — стиль окна. Показывает, в каком состоянии будет отображаться окно при запуске.

Параметры отображения окна CmdShow:

SW_HIDE Запускаемое приложение делается невидимым
SW_MAXIMIZE Расширяет окно на весь экран
SW_MINIMIZE Запускаемое приложение минимизируется. После запуска активизируется окно высшего уровня, т.е. окно, откуда было запущено это приложение
SW_RESTORE Делает окно таким, каким оно было запущено в последний раз
SW_SHOW Отображает окно в своем текущем размере и позиции

Для не-Windows приложений определяет состояние окна файл PIF, если таковой имеется в наличии. Если необходимо закрывать окно после завершения работы такого приложения необходимо создать PIF ярлык к нему в том же каталоге с таким же названием и поставить галочку «Закрывать окно по завершению сеанса работы». Все дополнительные параметры запуска устанавливаются там же.

Возвращаемые значения функции WinExec:

31 нормальный запуск
системе не хватает памяти или ресурсов
ERROR_BAD_FORMAT EXE файл поврежден или имеет неверный формат (Windows на такой файл говорит, что он не является приложением Win32)
ERROR_FILE_NOT_FOUND файл не найден
ERROR_PATH_NOT_FOUND путь к файлу задан неверно

Если имя выполняемого файла в параметре FileName не содержит пути директории, Windows производит поиск выполняемого файла в такой последовательности:

1. Каталог из которого приложение было запущено. Это рабочий каталог
2. Системный каталог Windows (обычно C:WINDOWSSYSTEM).
3. Каталог Windows.
4. Директории, указанные в переменной операционной среды в среде PATH. Узнать о каталогах этой переменной можно, введя PATH в командной строке сеанса MS-DOS.

Пример использования функции WinExec в программе:

WinExec (‘command.com’, SW_SHOW); // запускает сеанс MS-DOS

Читайте также:
Что такое компьютерный вирус чем он отличается от других программ

Функция ShellExecute

Функция ShellExecute не только запускает программы, а открывает, редактирует или печатает файл, с учетом зарегестрированного типа, а также открывает указанную папку проводником. Возвращает Handle ссылку на открытое окно.

Используемый модуль ShellAPI. Его нужно не забыть указать в разделе Uses.

Описание: ShellExecute (hWnd: HWND; Operation: PChar; FileName: PChar; Parametrs: PChar; Directory: PChar; CmdShow: Integer): HINST;

где: hWnd — Handle родительского окна, в который будут передаваться сообщения запускаемого приложения. Можно указывать Handle-ссылку окна вашего приложения.

Operation — производимая операция. Open — открыть, print — напечатать, explore — открыть папку. По умолчанию open, если указать nil.

FileName — имя файла или документа, интернет ссылка, e-mail адрес.

Parametrs — параметры, передаваемые приложению в командной строке.

Directory — каталог по умолчанию.

CmdShow — стиль окна. Показывает, в каком состоянии будет отображаться окно при запуске. Подробно рассказано выше.

Вместо параметров Operation, Parametrs и Directory можно ставить nil. Они являются не обязательными параметрами для запуска.

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

Пример использования команды ShellExecute в программе:

ShellExecute (Form1.Handle, nil, ‘http://programming.dax.ru’, nil, nil, SW_RESTORE); //запуск нашей странички

ShellExecute (Form1.Handle, nil, PChar (Application.ExeName), nil, nil, SW_RESTORE); //запуск второй копии этой программы

ShellExecute (Form1.Handle, nil, ‘iexplore’, ‘http://programming.dax.ru’, nil, SW_RESTORE); //запуск в отдельном окне

Источник: isiprog.ru

Delphi не запускается

Если я попытаюсь запустить Delphi 7, я получаю пугающее сообщение:

Обнаружена информация о лицензии Borland, но она недействительна для Delphi. Вы не можете запустить Delphi без этой информации. Нажмите кнопку выхода, чтобы выйти из Delphi.

Сегодня утром Delphi работала нормально, но задыхалась, когда я пытался загрузить проект, над которым работаю.

  • Я переустановил Delphi с исходного диска — то же сообщение
  • Я только что выполнил восстановление системы несколько дней назад — то же сообщение

No’am Newman 14 Сен 2009 в 11:12

8 ответов

Лучший ответ

Согласно архивам из Chillibear, вот что вы делаете:

  1. Удалите файл registry.slm из каталога .borland в папке пользователя в документах и ​​настройках.
  2. Запустите файл D7Reg.exe из каталога Delphi7 Bin.
  3. Следуйте инструкциям по регистрации (вам не нужно регистрироваться сейчас!)
  4. Все сделано. Откройте Delphi7 как обычно.

Paul-Jan 14 Сен 2009 в 11:34
Я считаю, что этого достаточно, чтобы запустить D7Reg.exe и нажать «Отмена»
Christopher Chase
14 Сен 2009 в 13:48
20 Окт 2015 в 16:50

20 Окт 2015 в 16:55

Попробуйте удалить файл с документами и настройками .borland registry.slm (конечно, сначала сделайте резервную копию) и перезапустите Delphi

x2. 14 Сен 2009 в 11:16

Недействительная лицензия Delphi

  1. Удалите файл registry.slm из каталога .borland в вашем папка пользователя в разделе Документы и настройки .
  2. Запустите файл D7Reg.exe из каталога Delphi7 Bin .
  3. Следуйте инструкциям по регистрации (вам не нужно регистрироваться сейчас!)
  4. Готово. Откройте Delphi7 как обычно.

Благодаря этой четырехступенчатой ​​программе мое кровяное давление снова упало до безопасного уровня.

Ian Boyd 17 Фев 2012 в 06:14

Вы также столкнетесь с этим аналогичным сообщением об ошибке, когда на вашем диске C, на котором находится папка C: Documents and Settings username borland, недостаточно места на диске для записи. Вы должны освободить как можно больше места на диске или перенести некоторые файлы на другой диск, и сообщение об ошибке просто исчезнет без следа.

Sonny Eugenio 8 Фев 2011 в 11:52

Обратитесь в их службу поддержки. Перейдите на сайт www.embarcadero.com. Последний пункт меню — «Услуги». Оттуда я бы выбрал http://www.embarcadero.com/support.

Читайте также:
Определение производственной программы предприятия и среднего разряда работ на ее выполнение

John Thomas 14 Сен 2009 в 11:20

У меня возникла эта проблема после недавнего обновления до W10. Я нашел файл slm в C: users .borland и просто переименовал его (на всякий случай). Затем я смог запустить D7Reg.exe — если вы попробуете его перед удалением файла slm, он не примет ваши регистрационные данные !! Я отменил программу после того, как она приняла данные, чтобы она не стерла все сторонние соединения, и теперь Delphi7 работает нормально. Большое спасибо за это исправление.

AlanBailey 19 Дек 2015 в 20:39
Путь к файлу slm некорректно переводился — он находится в C: users username dotBorland
AlanBailey
19 Дек 2015 в 20:41

Та же проблема с сообщением, но с заменой жесткого диска на новый (скопируйте весь раздел). Решение изменить имя устройства, потому что любая программа работает. Но, возможно, случится, если вы установите другой модуль, а Borland для начала попробуйте найти другое имя модуля.

Miguel Jumping 19 Авг 2021 в 11:02

Попробуйте запустить Delphi 7 в режиме совместимости с Windows XP

Boris Matkov 12 Ноя 2021 в 16:01

Ваш ответ можно улучшить с помощью дополнительной вспомогательной информации. Пожалуйста, отредактируйте, чтобы добавить дополнительную информацию, например цитаты или документацию, чтобы другие могли подтвердить, что ваш ответ правильный. Дополнительную информацию о том, как писать хорошие ответы, можно найти в справочном центре.

Источник: question-it.com

Запуск программы из delphi с ожиданием завершения ее работы

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

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

Метод хорош, но если будет большой cmd скрипт который подразумевает длительное выполнение, то программа на delphi просто повиснет ожидая закрытия запущенного скрипта. Поэтому для того чтобы программа не зависала во время ожидания ответа от процедуры, ее следует запускать в дополнительном потоке и уже из потока отсылать данные о завершении работы cmd скрипта основному окну программы.

Для использования этой процедуры необходимо в USES подключить модуль ShellAPI.

uses ShellAPI

Метод вызова процедуры:

ExecuteWait(‘cmd’, ‘/c get_info.bat’, true);

Как писал выше для того чтобы программа не зависала, процедуру лучше запускать в отдельном потоке, а для того чтобы узнать о том что скрипт завершил свою работу, из потока нужно «куда то изъять данные» — для примера на главной форме(Form1) нужно разместить label(Label1), в него записать результат выполнения процедуры.

Для того чтобы ниже изложенный код работал, нужно в проекте создать поток(Thread) с именем new_process и подключить его к главной форме в uses — поток будет в каком то unit, а в каком виднее вам.

Метод создания потока

MyThread:=new_process.Create(False);

В потоке нужно разместить код самой процедуры ExecuteWait которая описана выше и прописать в uses главную форму(unit1):

implementation uses Unit1; //. бла бла //. бла бла procedure ExecuteWait begin ///. бла бла end; procedure new_process.Execute; begin ExecuteWait(‘cmd’, ‘/c get_info.bat’, true); form1.Label1.Caption:=’Выполнение скрипта cmd завершено’; end;

После завершения выполнения программы, вызванный поток пропишет в label1 главной формы: Выполнение скрипта cmd завершено.

Еще записи по теме

  • Что-то непонятное))) наверное предыстория какаято
  • Скрипт статистики для сайтов с кодировкой utf8
  • Скрипт перелинковки страниц поисковыми запросами с выводом статичных блоков
  • Сетевая игра в Dungeon keeper gold ЧАСТЬ 1
  • Сетевая игра в Dungeon keeper gold часть 2
  • Мой первый самописный движок для сайта
  • Накрутка и заработок с ClickCashMoney

Источник: www.keblog.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru