Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Formular soll beim Schließen ein Wert zurückgeben

  Alt 26. Feb 2019, 16:56
Ich füge für solche Fälle (also Dialoge, die immer modal angezeigt werden und (geänderte) Werte zurückliefern), eine public class function Execute hinzu:

Delphi-Quellcode:
class function TMyDialog.Execute(_Owner: TWinControl; var _SomeValue: integer): boolean;
var
  frm: TMyDialog;
begin
  frm := TMyDialog.Create(_Owner);
  try
    TForm_CenterOn(frm, _Owner);
    frm.SetData(_SomeValue);
    Result := (frm.ShowModal = mrOK);
    if Result then
      frm.GetData(_SomeValue);
  finally
     FreeAndNil(frm);
  end;
end;
Statt nur eines Wertes kann man natürlich beliebig viele als Parameter übergeben.

Dazu kommen dann noch jeweils die .SetData und .GetData Methoden mit passenden const bzw. out Parametern. Die setzen die Controls entsprechend der Werte bzw. lesen die Werte aus den Controls aus.

Aufruf dann mit
Delphi-Quellcode:
 if TMyDialog.Execute(Self, SomeValue) then
   WriteLn('Wert wurde auf ', SomeValue, ' gesetzt.');
Thomas Mueller
  Mit Zitat antworten Zitat