Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 01.02.2015
Сообщений: 1

Программа крашится при нажатии Y

01.02.2015, 11:36. Показов 994. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
uses ABCObjects,GraphABC;
var 
  Font_Game:string;
  new_game,bot_game,exit_game:TextABC;
  s_g,b_g:boolean;
  
  Procedure KeyPress(key:char);
    begin
      if (key in ['Y','y','Н','н'])then
        s_g:=true;
      if (key in ['H','h','Р','р']) then
        b_g:=true;
      if (key in ['N','n','Т','т']) then
        CloseWindow;
    end;
    
  Procedure MainMenu(a,b,c:textabc);  // Процедура главного меню
   begin
      if (s_g=false) and (b_g=false) then a:= new TextABC((Window.Width-441) div 2 , (Window.Height-50) div 4 , 50 , 'Y - Новая игра .') else a.Destroy;//Надпись Y - Новая игра. 
      b:=new TextABC((Window.Width-800) div 2 , Window.Height div 2 - (Window.Height-50) div 8 , 50 , 'H - Игра против компьютера.');  //Надпись H - Игра против компьютера.
      c:=new TextABC((Window.Width-550) div 2 , Window.Height - (Window.Height-50) div 2 , 50 , 'N - Выход из игры.');  //Надпись N - Выход из игры.
    end;
    
  Procedure KeyPressed;
    begin
      while true do //Цикл проверки нажатия клавиши
        begin
          OnKeyPress:=KeyPress; //Нажатие клавиши
          if (s_g=true) or (b_g=true) then break; // Если H или Y нажата , то выход из цикла
        end;
    end;
begin
  window.Maximize;  //Установка максимального размера окна
  SetSmoothingOn;   //Включение сглаживания
  Font_Game:='Arial'; //Переменная с именем шрифта
  SetFontName(Font_Game); //Установка шрифта в программе
  MainMenu(new_game,bot_game,exit_game); //Вызов процедуры создания главного меню
  Keypressed; //Вызов процедуры удаляющий главное меню при нажатии клавиши 
  if (s_g=true) or (b_g=true) then MainMenu(new_game,bot_game,exit_game);
end.
Дорогие форумчане , не могли бы объяснить мне почему при нажатии y , он крашит всю программу , а не удаляет объект(текст) new_game?

Добавлено через 2 часа 24 минуты
Все дело вот из-за этого момента :
Pascal
1
2
3
4
5
6
7
8
9
10
uses ABCObjects,GraphABC;
var new_game:textabc;
  procedure MainMenu(a:textabc);
    begin
      a:=new TextABC(0,0,50,'1');
    end;
begin
  mainmenu(new_game);
  new_game.Destroy;
end.
Можно ли так делать вообще ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2015, 11:36
Ответы с готовыми решениями:

Компилятор крашится при компиляции модуля
Доброго времени суток. Задача состоит в создании модуля для работы с данными о студентах. unit Stud; interface type ...

Крашится Visual Studio 2017 при нажатии на update при создании таблицы sql
Прикрепил фото, выделил красным цветом ту кнопку "update", это где создать новую таблицу sql и нажать "update", visual stuodio...

Змейка: игра крашится при нажатии клавиши
я еще зеленый, вот пробую написать змейку, пока еще только делаю управление с клавиатуры, но вот загвоздка: при нажатии 2(вниз) или 6...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33399 / 21509 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
02.02.2015, 00:27
Цитата Сообщение от h434 Посмотреть сообщение
Можно ли так делать вообще ?
Можно, если правильно:
Pascal
17
Procedure MainMenu(var a,b,c:textabc);  // Процедура главного меню
, иначе изменения параметров не передаются назад в вызывающий код, и происходит ошибка...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2015, 00:27
Помогаю со студенческими работами здесь

Программа компилируется, но при выполнении крашится
Задача состоит в том, чтобы заполнить массив t1 случайными числами, а после задать каждому элементу массива t2 значение, которое является...

Программа крашится при освобождении памяти
Всем привет. #include <stdlib.h> #include <limits.h> void main(void) { int qtyMAX = 2; char ***string = malloc(qtyMAX...

Программа крашится при вводе данных
Вот этот код скопирован из учебника. На моем компьютере почему то запускается программа но при вводе 1.2 3.4 5.6| просто выключается и все....

Крашится программа при переходе в userparamsActivity
программа вылетает сразу после перехода в этот активити Лог выдает ошибку: Caused by: java.lang.NullPointerException: Attempt to...

Крашится программа при добавлении элемента QTableWidgetItem
При работе с таблицей, делаю такую вещь. Считываю текст выделенной ячейки, записываю его в соседнюю ячейку, при этом считывая значения из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru