11-02-2021, Saat: 08:38
Sayfalar: 1 2
21-02-2021, Saat: 12:26
Bir frame ilk defa gösterip freeandnil yapıyorum.
2.kez formu yeniden göstermek istediğimde
A component named FrameAdi alredy exists. Hatası alıyordum.
internette araştırdım hiç bir yerde bulamadım. denemeler sonucu sonucu buldum.
Frame içinde nekadar
Yazsanızda olmuyor. Yukardaki hatayı veriyor.
Hatadan kurtulmanın yolu Frame unitinde
olması gerekiyor.
Windowsta hiçbir hata yok androide atıp denediğimde verdi bu hatayı.
2.kez formu yeniden göstermek istediğimde
A component named FrameAdi alredy exists. Hatası alıyordum.
internette araştırdım hiç bir yerde bulamadım. denemeler sonucu sonucu buldum.
Frame içinde nekadar
Kod:
Self.Visible := False;
FreeAndNil(Mainform.dogumFrame);Yazsanızda olmuyor. Yukardaki hatayı veriyor.
Hatadan kurtulmanın yolu Frame unitinde
Kod:
destructor TDogumFrame.Destroy;
begin
inherited;
end;Windowsta hiçbir hata yok androide atıp denediğimde verdi bu hatayı.
17-01-2022, Saat: 20:29
(15-02-2018, Saat: 18:22)Bay_Y Adlı Kullanıcıdan Alıntı: [ -> ]Teşekkürler , rica etsem kodu da paylaşır mısınız ? Bir şeyler yanlış sanırım bir türlü çalıştıramadım.
Ana form kodları
unit fmana;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Layouts, fr1,fr2,
FMX.Objects;
type
TModulTipi = (ornek1, Ornek2);
type
TForm1 = class(TForm)
Layout1: TLayout;
Rectangle1: TRectangle;
Rectangle2: TRectangle;
procedure Rectangle1Click(Sender: TObject);
procedure Rectangle2Click(Sender: TObject);
private
fframe1 : Tframe2;
fframe2 : Tframe3;
procedure SetFrameGoster(Frame: TFrame; ModulTipi: TModulTipi);
procedure SetFrameGizle();
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.Rectangle1Click(Sender: TObject);
begin
SetFrameGoster(fframe1, TModulTipi.Ornek1);
end;
procedure TForm1.Rectangle2Click(Sender: TObject);
begin
SetFrameGoster(fframe2, TModulTipi.Ornek2);
end;
procedure TForm1.SetFrameGizle();
var
I: Integer;
begin
for I := 0 to Layout1.ControlsCount - 1 do
if Layout1.Controls[i] is TFrame then
TFrame(Layout1.Controls[i]).Visible := False;
end;
procedure TForm1.SetFrameGoster(Frame: TFrame; ModulTipi: TModulTipi);
begin
if Frame = Nil then
begin
case ModulTipi of
Ornek1:
begin
fframe1 := Tframe2.Create(Self);
Frame := fframe1;
end;
Ornek2:
begin
fframe2 := TFrame3.Create(Self);
Frame := fframe2;
end;
end;
end;
Frame.Parent := Self.Layout1;
Frame.Align := TAlignLayout.Client;
SetFrameGizle();
Frame.Visible := True;
end;
end.
Frame1
unit fr1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
FMX.Objects, FMX.Controls.Presentation;
type
TFrame3 = class(TFrame)
Rectangle1: TRectangle;
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var frame3 : Tframe3;
implementation
{$R *.fmx}
end.
Frame 2
unit fr2;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls,
FMX.Objects, FMX.Controls.Presentation;
type
TFrame2 = class(TFrame)
Rectangle1: TRectangle;
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var frame2 : Tframe2;
implementation
{$R *.fmx}
end.Sayfalar: 1 2