Инициализация форм

  • Автор темы Mick Winder
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Mick Winder

Допустим есть у меня две формы Form1 и Form4. Одна форма - главная, другая вспомогательная, для получения данных в главную форму...
С помощью пункта в меню Project - Options и на вкладке Forms перенес Form4 из списка Auto-create forms в список Available forms.
Затем описал следующий код вызова Form4:

Код:
procedure TForm1.SpeedButton24Click(Sender: TObject);
begin

Form4:= TForm4.Create(Application);
if Form4.ShowModal=mrOk then begin
  ....
  end;
 Form4.Free;

end;

Выдает ошибку: "Incompatible types: 'TComponent' and 'TGUID' "
Не понял... Что я здесь упустил?
 
?

????

Для: Mick Winder
Что-то типа:
Код:
...
uses имя_файла_с_формой_4 
...
procedure TForm1.SpeedButton24Click(Sender: TObject);
var
Form4: TForm4;
begin

Form4:= TForm4.Create(Application);
if Form4.ShowModal=mrOk then begin
 ....
  end;
Form4.Free;
end;
 
M

Mick Winder

Для: ????
Сделал всё как ты посоветовал, выводит ту же ошибку... ;)
 
?

????

Для: Mick Winder
И на какую строку жалуется?
 
M

Mick Winder

На эту...

Код:
Form4:= TForm4.Create(Application);
 
?

????

Для: Mick Winder
Странно ;) Приложи полностью исходник или разбирайся с этим (работает):
Код:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
 Button1: TButton;
 procedure Button1Click(Sender: TObject);
private
 { Private declarations }
public
 { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);
var
frm2: TForm2;
begin
frm2 := TForm2.Create(Self);
frm2.ShowModal;
frm2.Free;
end;

end.
Код:
unit Unit2;

interface

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

type
TForm2 = class(TForm)
private
 { Private declarations }
public
 { Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

end.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!