Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 15.12.2017, 23:15   #1
BlackTerror
 
Регистрация: 29.10.2017
Сообщений: 4
Репутация: 10
По умолчанию Delphi

Я создал 4 формы и связал их кнопкой Далее (код для нее внизу), и дело в том, что код рабочий, но, когда я кликаю Далее на первой форме (Form1), он сразу перескакивает на третью форму и пропускает вторую, а затем когда нажимаю Далее уже на третьей форме, он выдает ошибку <Project raised exception class EStackOverflow with message 'Stack overflow'>. Возможно какие то проблемы с циклом, но я понять не могу. Подскажите!

Код:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Edit1: TEdit;
    Label9: TLabel;
    Edit2: TEdit;
    Label10: TLabel;
    Edit3: TEdit;
    Label11: TLabel;
    Edit4: TEdit;
    Label12: TLabel;
    Edit5: TEdit;
    Label13: TLabel;
    Label14: TLabel;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    Edit12: TEdit;
    Edit13: TEdit;
    Label15: TLabel;
    Edit14: TEdit;
    Panel3: TPanel;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
      procedure ShowForm;
    { Private declarations }
  public
    { Public declarations }
    NextForm:Integer;
  end;

var
  Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4;


{$R *.dfm}

  procedure TForm1.ShowForm;
var
  Form:TForm;
begin
 case NextForm of
  2:Form:=Form2;
  3:Form:=Form3;
  4:Form:=Form4;
   else
    begin
    Form:=nil;
    // не даем счетчику выйти за нужный диапазон
    if NextForm>4 then NextForm:=4;
    if NextForm<2 then NextForm:=2;
    end
 end;
  if Form<>nil then
begin
 Form.Parent:=Panel1;
 Form.Align:=alClient;
 Form.BorderStyle:=bsNone;
 Form.Show;
end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
NextForm:=NextForm+1;
ShowForm;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
NextForm:=2;
ShowForm;
end;

end.

Оформляйте код по правилам.

Последний раз редактировалось Вадим Мошев; 18.12.2017 в 21:16.
BlackTerror вне форума   Ответить с цитированием
Старый 16.12.2017, 04:13   #2
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,600
Репутация: 2281

icq: 100500
skype: kick-ass
По умолчанию

Выкинь весь этот говнокод и юзай TPageControl.
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в libcef.dll только с Delphi 7, в Delphi XE3 - нет noname_06 Общие вопросы Delphi 6 08.05.2013 06:49
Не изменяется интерфейс моей программы при переходе с Delphi 7 на Delphi 2010 Elvisnya Общие вопросы Delphi 3 28.04.2011 15:59
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism savva-paladin Софт 18 02.10.2010 20:24
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 11:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54


17:07.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru