0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 6

Создание адресного манипулятора

17.01.2013, 14:40. Показов 684. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте!

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

Ошибка:
вызвал класс исключения external:SIGSEGV

Часть кода:

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
procedure dvizh1_1(Pleft, Ptop:integer);
 const Cleftgruz=536;
begin
  form1.timer1.Enabled:=true;
  if manip.left>Pleft then
  manip.left:=manip.left-1;
  if manip.left=Cleftgruz then begin
  form1.timer1.Interval:=0;
  gruz.Visible:=false;
  sleep(1000);
  end;
  form1.timer1.Interval:=1;
  if (manip.left=Pleft) and (not(manip.top=Ptop)) then
  manip.top:=manip.top-1;
  if (manip.Top=Ptop) and (manip.left=Pleft) then begin
  if gruzy[h]=nil then begin
  form1.timer1.Interval:=0;
  Create;
  sleep(1000);
  form1.timer1.enabled:=false;
  end;
  if gruzy[h]<>nil then begin
  form1.timer1.Interval:=0;
  Destroy1;
  sleep(1000);
  form1.timer1.enabled:=false;
  end;
  end;
  if manip.Top=Ptop then obr;
end;
 
procedure kuz;
var q:integer;
begin
if (manip.Left=592) and (manip.Top=488) then
  begin
  for q:=0 to (form1.ListBox1.Items.Count-1) do begin
  if (strtoint(form1.ListBox1.Items[q])=1) and (strtoint(form1.ListBox2.Items[q])=1) then
  begin
   Pleft:=CPleft[1]; Ptop:=CPtop[1];
   dvizh1_1(Pleft, Ptop);
   form1.ListBox1.Items.Delete(q);
   form1.ListBox2.Items.Delete(q);
  end;
  end;
  end;
  end;                
 
procedure aaa;
var k:integer;
begin
  if (manip.Left=592) and (manip.Top=488) then
  begin
  for k:=0 to (form1.ListBox1.Items.Count-1) do begin
if (strtoint(form1.ListBox1.Items[k])=1) and (strtoint(form1.ListBox2.Items[k])=2) then
  begin
Pleft:=CPleft[2]; Ptop:=CPtop[1];
dvizh1_1(Pleft, Ptop);
form1.ListBox1.Items.Delete(k);
form1.ListBox2.Items.Delete(k);
  end;
  end;
  end;
  end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2013, 14:40
Ответы с готовыми решениями:

Создание манипулятора
Как создать манипулятор, преобразующий массив символов при выводе из потока в массив тех же символов, но уже верхнего регистра? Например ...

Создание 3D модели манипулятора
Здравствуйте, столкнулся с задачей которую не понимаю как решить :wall: Есть 3х мерная модель манипулятора, каждое звено которого...

Создание (вернее, внедрение) манипулятора
Здравствуйте! Помогите пожалуйста! Лаба горит! Помогите создать манипулятор консольного ввода\вывода (insetup\outsetup). Внедрить его надо...

6
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33149 / 21441 / 8223
Регистрация: 22.10.2011
Сообщений: 36,771
Записей в блоге: 9
17.01.2013, 14:46
И зачем эта "часть кода"? Она бесполезна без указания строки, в которой происходит ошибка. Потому что в приведенной части все смешалось в кучу, и интерфейс, и логика. Запустить эту часть кода, не восстанавливая форму со всеми данными на ней, нельзя.

Либо прикрепляй проект со всеми данными, который можно запустить и получить ошибку, либо рассказывай, в какой строке эта ошибка происходит...
1
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 6
17.01.2013, 15:07  [ТС]
ошибка в строке 177
Вложения
Тип файла: rar манипулятор.rar (2.98 Мб, 8 просмотров)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33149 / 21441 / 8223
Регистрация: 22.10.2011
Сообщений: 36,771
Записей в блоге: 9
17.01.2013, 15:21
Не вижу в коде создания объекта manip... Где вызов конструктора (вот такой)
Pascal
1
manip := TShape.Create(Form1);
?

У тебя же manip не лежит на форме, а просто отдельный объект, значит, создать его - задача программиста... Аналогично и с другими объектами (я смотрю, там много TShape-ов, массивы прямо): перед тем, как обращаться к ним, их надо создать.
1
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 6
17.01.2013, 15:36  [ТС]
Вот, удалил лишнюю часть, думал, что непринципиально важно. Это полная версия.
Вложения
Тип файла: rar манипулятор1.rar (2.98 Мб, 7 просмотров)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33149 / 21441 / 8223
Регистрация: 22.10.2011
Сообщений: 36,771
Записей в блоге: 9
17.01.2013, 16:14
Сразу же - проблема, которая может приводить к вылету: процедура Destroy1. Во-первых, не надо использовать вызов Destroy, это говорится в любом учебнике Дельфи, в Лазарусе - то же самое, нужно использовать Free. Но и Free у тебя проблемы не решит. Замени строку вот на такую:

Pascal
1
2
3
4
5
Procedure Destroy1;
begin
  FreeAndNil(Gruzy[h]); // Мало того, что освободить, так еще и обнулить указатель !!!
  // Gruzy[h].Free; //.Destroy;
end;
, теперь проверка if gruzy[h]=nil then вернет True, и объект будет заново создан.
1
0 / 0 / 0
Регистрация: 17.01.2013
Сообщений: 6
17.01.2013, 19:06  [ТС]
Как можно сделать так, чтобы после создания gruzy, он не уничтожался при повторном введении значений?
Вложения
Тип файла: rar манипулятор2.rar (2.98 Мб, 5 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2013, 19:06
Помогаю со студенческими работами здесь

Создание графических изображений с помощью манипулятора мыши
Здравствуйте! У меня тема задания по Си такая: Создание графических изображений с помощью манипулятора мыши. Что можете посоветовать по...

Просмотрщики разбивки адресного пространства
Народ, подскажите какую-нибудь утилитку, которая отображает как система разбивает всё адресное пространство и кому какие куски достаются.

Конечность адресного пространства IPv4?
Помогите пожалуйста разложить все по полочкам в мозгу. Вот все шумели о том что скоро не будет хвать ip-шников компа в инете и...

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

Расчет конфигурации и планирование адресного пространства
объясните мне что означает IP1-IP6 и IPbr, и если не трудно напишите что туда записать


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru