Announcement

Collapse
No announcement yet.

Datentransfer zwischen Formularen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datentransfer zwischen Formularen

    Hallo zusammen, <br>
    ich habe auf einem Hauptformular diverse Edit-Felder. Diese Felder möchte ich füllen, indem ich aus einer String-Liste, die sich auf einem zur Laufzeit erzeugten Formular befindet, einen Datensatz auswähle. Wie stelle ich es nun an, dass der Datensatz, den ich auf dem temporären Formular auswähle, ins Hauptformular übernommen wird ? <br> Ich möchte eben das Unterformular von unterschiedlichen Orten im Programm aufrufen können.
    <br>
    Vielen Dank Beat

  • #2
    Hallo Beat,<br>
    dafür schlage folgendes Konzept vor:<br>
    Füge dem dynamischen Formular eine Event-Handler Property hinzu. Z.B. OnSelectString.<br>
    Wenn Du das Formular erzeugst setzt Du diesen Event-Handler.<br>
    Das könnte z.B. so aussehen<br>
    <pre>
    <font face="Verdana" size="1" color="#080000">unit Unit1;

    uses unit2;

    type
    TForm1 = class(TForm)
    private
    { Private-Deklarationen }
    procedure SelectStringEvent(Sender : TObject; aString : String);
    public
    { Public-Deklarationen }
    end;

    ...
    var
    MyForm : TForm2;
    ...
    MyForm:=TForm2.Create(Application);
    MvForm.OnSelectCell:=SelectStringEvent;
    ...

    procedure TForm1.SelectStringEvent(Sender : TObject; aString : String);
    begin
    // mach hier etwas mit dem String
    end;

    end.

    unit Unit2;

    type
    TSelectString = procedure(Sender : TObject; aString : String) of object;

    TForm2 = class(TForm)
    private
    { Private-Deklarationen }
    FOnSelectString : TSelectString
    public
    { Public-Deklarationen }
    property OnSelectString : TSelectString read FOnSelectString write FOnSelectString;
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    ...
    If Assigned(FOnSelectString) then
    FOnSelectString(Self,StringList[Index]);
    ...
    end.</font><pre>
    Jetzt kannst Du von jedem Ort aus das Formular erzeugen und auf OnSelectCell reagieren

    Comment


    • #3
      Hallo Jens <br>
      Vielen Dank für deine Hilfe. Hat super geklappt.<br>
      Bea

      Comment

      Working...
      X