Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 341

/ вопрос решён /

Здравствуйте, уважаемые эксперты!
Выскакивает ошибка при нажатии на кнопку

delphi Project Project1.exe raised exception class eaccessviolation with message access violation at address 0046DDBB in module 'Project1.exe'. Write of address 00000070

в 60 строке останавливается

в приложении прикладываю код
надеюсь на помощь =-)

Приложение:
  1. unit Unit2;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls,Buttons, Spin;
  8.  
  9. type
  10. TForm2 = class(TForm)
  11. Label1: TLabel;
  12. Label2: TLabel;
  13. SEStrings: TSpinEdit;
  14. SECalums: TSpinEdit;
  15. Button1: TButton;
  16. procedure Button1Click(Sender: TObject);
  17.  
  18.  
  19. private
  20. { Private declarations }
  21. public
  22. { Public declarations }
  23. end;
  24.  
  25. TKletka=class(TBitBtn)
  26. end;
  27.  
  28. var
  29. Form2: TForm2;
  30.  
  31.  
  32. masKl:array of array of TKletka;
  33.  
  34.  
  35.  
  36.  
  37. implementation
  38.  
  39. {$R *.dfm}
  40.  
  41. procedure TForm2.Button1Click(Sender: TObject);
  42. begin
  43. randomize;
  44. n:=SEStrings.Value;
  45. m:= SECalums.Value;
  46.  
  47.  
  48. for j:=2 to m do
  49. mas[j,i]:=random(2);
  50.  
  51. for j:= m to 18 do
  52. mas[j,i]:=3;
  53.  
  54. SetLength(masKl,m,n);
  55. LevOtst:=10;
  56. VerhOtst:=25;
  57. for i := 2 to n do
  58. for j:=2 to m do
  59. begin
  60.  
  61. masKl[j,i].parent:=self;
  62. masKl[j,i].top:=VerhOtst;
  63. masKl[j,i].left:=LevOtst+65;
  64. masKl[j,i].height:=33;
  65. masKl[j,i].width:=33;
  66. if mas[j,i]=0 then
  67. masKl[j,i].color:=clBlack
  68. else masKl[j,i].color:=clWhite;
  69.  
  70. if j=m then
  71. begin
  72. LevOtst:=10;
  73. VerhOtst:=VerhOtst+25;
  74. end;
  75.  
  76. end;
  77.  
  78. end;
  79.  
  80. end.


Haenta Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задала: Haenta (статус: Посетитель)
Вопрос отправлен: 29 мая 2011, 23:22
Состояние вопроса: решён, ответов: 0.


Мини-форум вопроса

Всего сообщений: 6; последнее сообщение — 29 мая 2011, 23:59; участников в обсуждении: 2.
Шичко Игорь

Шичко Игорь (статус: 9-ый класс), 29 мая 2011, 23:27 [#1]:

Нумерация в массивах, как правило, по умолчанию идет с 0.
Поэтому должно буть где-то так:
...
57. for i := 2 to n-1 do
58. for j:=2 to m-1 do
...
Шичко Игорь

Шичко Игорь (статус: 9-ый класс), 29 мая 2011, 23:30 [#2]:

Если необходимо заполнение со второго элемента до окончания, то соответственно:
57. for i := 1 to n-1 do
58. for j:=1 to m-1 do
Haenta

Haenta (статус: Посетитель), 29 мая 2011, 23:35 [#3]:

заработало урааааа)))
только теперь всего одна кнопка выводится =-(
не подскажете как все вывести?
А кофе на клавиатуру тоже вирус пролил?
Haenta

Haenta (статус: Посетитель), 29 мая 2011, 23:39 [#4]:

  if j=m-1 then
     begin
      LevOtst:=10;
      VerhOtst:=VerhOtst+33;


изменила на это и теперь есть 4 в столбик если выбрать 6 в едитах

исправила еще
for i := 0 to n-1 do
  for j:=0 to m-1 do
теперь в столбец выводи сколько нужно и все больше ничего
А кофе на клавиатуру тоже вирус пролил?
Шичко Игорь

Шичко Игорь (статус: 9-ый класс), 29 мая 2011, 23:53 [#5]:

Цитата:

только теперь всего одна кнопка выводится =-(
не подскажете как все вывести?

проблема решилась или вопрос остался?
Haenta

Haenta (статус: Посетитель), 29 мая 2011, 23:59 [#6]:

Шичко Игорь:
> проблема решилась или вопрос остался?

всё решилось, спасибо =-)
А кофе на клавиатуру тоже вирус пролил?

30 мая 2011, 00:01: Статус вопроса изменён на решённый (изменил автор вопроса — Haenta)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:40
Выполнено за 0.03 сек.