Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Prism Rückgabewert beim Schließen eines Formulars (https://www.delphipraxis.net/69653-rueckgabewert-beim-schliessen-eines-formulars.html)

gfjs 18. Mai 2006 06:43


Rückgabewert beim Schließen eines Formulars
 
Guten Morgen, Allerseits.

Wie kann ich erreichen, dass beim Schließen eines Formulars (Dialog) beispielsweise der Inhalt einer TextBox an die aufrufende Komponente zurückgegeben wird?

Vielen Dank im Voraus und noch einen schönen Tag.

Jürgen

Mavarik 18. Mai 2006 07:15

Re: Rückgabewert beim Schließen eines Formulars
 
Zitat:

Zitat von gfjs
Guten Morgen, Allerseits.

Wie kann ich erreichen, dass beim Schließen eines Formulars (Dialog) beispielsweise der Inhalt einer TextBox an die aufrufende Komponente zurückgegeben wird?

Vielen Dank im Voraus und noch einen schönen Tag.

Jürgen

Hallo!

Delphi-Quellcode:

begin
  bla bla bla

  NewForm := TForm2.create(Application);

  if NewForm.Showmodal = mrok then
    begin
      Localedit1.Text := Newform.Textbox1.Text;
    end;

  NewForm.free;

  bal bla bla
end.
So...

Frank :coder:

gfjs 18. Mai 2006 07:19

Re: Rückgabewert beim Schließen eines Formulars
 
Guten Morgen, Frank.

Vielen Dank für Deine schnelle Anwort - werd' ich heute Abend gleich ausprobieren.

Jürgen

chaos 18. Mai 2006 18:13

Re: Rückgabewert beim Schließen eines Formulars
 
Hallo,

ich sitze gerade am selben Problem :/

Mavarik Code funkt bei mir leider nur fast.
Bei mir schaut es angepasst so aus:

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var NewForm:tform;
begin


NewForm := TForm2.create(Application);

  if not (NewForm.Showmodal = mrok) then
    begin
     showmessage(NewForm.edit2.text);
    end;
 showmessage('TEST2222222222');
 NewForm.free;

end;
Dabei nimmt er mir das "showmessage(NewForm.edit2.text);" nicht -> compiler fehler: Error: identifier idents no member "edit2"
Das edit2 gibts aber und wird auch verwendet.

gibts noch eine andere möglichkeit an "edit2" ranzukommen? Oder liegt es nur daran das ich freepascal/lazarus verwende, und es dort diese Funktion nicht gibt?

DANKE
patrick

mkinzler 18. Mai 2006 18:16

Re: Rückgabewert beim Schließen eines Formulars
 
Du mußt auch ein Objekt vom richtigen Typ erzeugen (vermutlich TNewForm) oder das Objekt casten, denn dei klasse TForm hat kein Edit2-Member.

chaos 18. Mai 2006 18:24

Re: Rückgabewert beim Schließen eines Formulars
 
danke das wars!

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var NewForm:tform2;
begin
und jetzt funkt es prima! .. bin noch ziemlicher anfänger, aber es macht immer mehr spaß :dancer2:

lg
patrick

Khabarakh 18. Mai 2006 18:46

Re: Rückgabewert beim Schließen eines Formulars
 
@Mavarik: Naja, außer der TextBox-Klasse sieht mir das doch etwas zu sehr nach Win32 aus ;) . Selbst wenn man das sinngemäß übersetzte, könnte es nicht funktionieren, da alle Controls unter .Net standardmäßig - Gott sei Dank - private sind (hoffentlich kommt jetzt nicht wieder irgendjemand und sagt, dass dem mit Delphi.Net nicht so sei :stupid: ).
Delphi-Quellcode:
  SubForm = class(Form)
  private
    textBox: TextBox;
    components: System.ComponentModel.Container := nil;
    method InitializeComponent;
  protected
    method Dispose(aDisposing: boolean); override;
  public
    constructor;
    property ResultText : String read textBox.Text;
  end;

[...]

  using sub := new SubForm() do
  begin
    sub.ShowDialog();
    MessageBox.Show(sub.ResultText);
  end;
@gfjs: PN kommt die nächsten Tage :) .


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz