Array de forms

Delphi

29/06/2016

Olá pessoal, estou com um problema eu gostaria de abrir varios forms simultaneos e em cada um quero abrir informações diferentes (ou seja teria um form base). Mas estou tendo alguns problemas. Primeiro não conseguia abrir simultaneamente, mas dps consegui, mas não conseguia trocar a informação na pagina, foi ai que decidi fazer uma array e abrir atraves dela, ate da certo, porem soh na primeira vez q executo, dps da um erro: [dcc32 Fatal Error] F2039 Could not create output file '.\Win32\Debug\CobaiaPaginaBase.exe'

o que eu faço?

Aqui está meu código:

unit Cobaia;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.ExtCtrls;

type
  TForm5 = class(TForm)
    edt: TLabeledEdit;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

uses Unit6;

procedure TForm5.BitBtn1Click(Sender: TObject);
var
  num, i : integer;
  umarray : array[1..9] of TForm6;
begin
  num := StrToInt(edt.text);
  for i := 1 to num do
    begin
      umarray[i] := TForm6.Create(Application);
      umarray[i].Label1.Caption := 'Instancia ' + InttoStr(i) ;
      umarray[i].Show;
    end;

end;

end.


E o segundo form, que é o que eu desejo abrir:

unit Unit6;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons;

type
  TForm6 = class(TForm)
    Label1: TLabel;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6: TForm6;

implementation

{$R *.dfm}

procedure TForm6.BitBtn1Click(Sender: TObject);
begin
  ShowMessage(Label1.Caption);
end;

procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Form6.Destroy;
end;

end.
Isabelle Oliveira

Isabelle Oliveira

Curtidas 1

Melhor post

Mateus Ribeiro

Mateus Ribeiro

29/06/2016

Boa tarde!

Em vez de "Form6.Destroy", coloque: Action:= caFree;
Testa aí.
GOSTEI 1

Mais Respostas

Isabelle Oliveira

Isabelle Oliveira

29/06/2016

Muito obrigada... deu certo .. ^^
GOSTEI 1
POSTAR