erstmal verspäetet die besten Neujahrswünsche.
Nun zu meinem Problem. Ich habe versucht ein Minimalbeispiel zu kreieren.
Ich habe 2 Units. Im unit2 wird über einen Button ein Editfeld erzeugt. (Die prinzipielle Methoden dazu habe ich u.a. mit eurer Hilfe geschafft).
Nun möchte ich bereits von unit1 aus diese Erzeugung durchführen, weiß aber nicht wie. Hat jemand von Euch den Durchblick, der mir offensichtlich fehlt.
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms,
Controls, StdCtrls, Grids, Graphics, Dialogs, DbCtrls, DBGrids, Unit2;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure clickbutton1(Sender:TObject);
procedure clickbutton2(Sender:TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
procedure Tform1.FormCreate(Sender: TObject);
begin
end;
//** Hier mein naiver Versuch von hier aus das EditFeld zu erzeugen
{
procedure TForm1.clickbutton1(Sender:Tobject);
begin
Form2.ErzeugenClick(Sender:Tobject);
Form2.showmodal;
end;
}
procedure TForm1.clickbutton2(Sender:Tobject);
begin
Form2.showmodal;
end;
var
NewButton:TButton;
initialization
{$I unit1.lrs}
end.
Code: Alles auswählen
unit Unit2;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm2 }
TForm2 = class(TForm)
Button1: TButton;
edit:Tedit;
procedure ErzeugenClick(sender:TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form2: TForm2;
implementation
procedure Tform2.ErzeugenClick(sender:TObject);
begin
edit:=TEdit.Create(self);
with edit do
begin
Parent:= Form2;
Left:= 30;
width:= 130;
Top := 30;
Name := 'edit1';
Text := 'terve maailma';
end;
{$R *.lfm}
end;
end.