Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2014, 05:46   #1
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию Переполнение стека

Возникает ошибка как на картинке при обработке метода:
Код:
Application.CreateForm(TForm1, Form1);
В чем может быть ошибка?

Привожу код самой формы:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
if (Edit1.Text<>'') or (Edit2.Text<>'') then
begin
Table1.First;
if (Table1.Fields[1].AsString=Edit1.Text) and (Table1.Fields[2].AsString=Edit2.Text) then
begin
Form2.Show;
Form1.Close
end
else
Showmessage('Íåâåðíûé ëîãèí èëè ïàðîëü!')
end
else showmessage('Ââåäèòå ëîãèí è ïàðîëü!');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.First;
Edit1.Text:=Table1.Fields[1].AsString;
end;

procedure TForm1.Edit2Change(Sender: TObject);
begin
if CheckBox1.Checked=true then
Edit2.PasswordChar:=#0
else
Edit2.PasswordChar:='*';
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked=true then
Edit2.PasswordChar:=#0
else
Edit2.PasswordChar:='*';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Form3.Show;
Form3.Edit1.Text:=Form1.Edit1.Text;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
Form2.Close;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
WindowState:=wsMinimized;
end;

end.
Изображения
Тип файла: jpg 1.jpg (19.7 Кб, 118 просмотров)
Ericnex вне форума Ответить с цитированием
Старый 08.12.2014, 07:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если закомментировать все что в OnCreate формы ошибка возникнет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.12.2014, 08:53   #3
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию

Да. Та же ошибка появляется.

Вкладываю сам проект
Вложения
Тип файла: rar Проект.rar (439.9 Кб, 11 просмотров)

Последний раз редактировалось Stilet; 08.12.2014 в 09:46.
Ericnex вне форума Ответить с цитированием
Старый 08.12.2014, 09:51   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Проверить не на чем. Дельфями не пользуюсь, но судя по сообщению, идёт рекурсивный бесконечный вызов какой-то функции. Для более глубокого анализа, нужно запустить прогу под отладчиком.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 08.12.2014, 09:55   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ыххх... У мну твой проект уже не откроется. Делфи такой версии не использую.
Навскидку попробуй компоненты Table поставить Active в False, чтоб он не был открыт в дизайне, а в OnCreate твоих форм уже активируй.
P.S. Тут пока проанализировал код просто почитав. Не понравилось мне вот это место:
Код:
procedure TForm2.Table3CalcFields(DataSet: TDataSet);
var a,b,c,d,e,f,g,h: integer;
begin
a:=Table3.FieldbyName('Money').AsInteger;
b:=Table3.FieldbyName('Monday').AsInteger;
c:=Table3.FieldbyName('Tuesday').AsInteger;
d:=Table3.FieldbyName('Wensday').AsInteger;
e:=Table3.Fieldbyname('Thursday').AsInteger;
f:=Table3.FieldbyName('Friday').AsInteger;
g:=Table3.FieldByName('Saturday').AsInteger;
h:=a-(b+c+d+e+g+f);
Table3.FieldByName('Balance').AsInteger:=h;
Table3.Refresh;
end;
Table3.Refresh; это тут зачем?
Как раз такие рефреши и могу бесконечно вызывать перерисовку и пересчет.
I'm learning to live...

Последний раз редактировалось Stilet; 08.12.2014 в 09:58.
Stilet вне форума Ответить с цитированием
Старый 08.12.2014, 10:12   #6
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию

Цитата:
Table3.Refresh; это тут зачем?
Как раз такие рефреши и могу бесконечно вызывать перерисовку и пересчет.
Да. Проблема была в этом.
Ericnex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переполнение стека DeKot Общие вопросы Delphi 4 02.02.2012 01:28
Переполнение аппаратного стека Levsha100 Свободное общение 6 13.07.2010 01:59
Переполнение стека NoHeart Общие вопросы Delphi 8 08.11.2009 16:03
Переполнение стека Ake Паскаль, Turbo Pascal, PascalABC.NET 3 30.05.2009 22:39
Переполнение Стека Викдон Паскаль, Turbo Pascal, PascalABC.NET 0 19.12.2008 19:16