AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form mit Button auf anderer Form schließen

Ein Thema von Blubbel · begonnen am 13. Apr 2013 · letzter Beitrag vom 14. Apr 2013
Antwort Antwort
Blubbel

Registriert seit: 6. Okt 2011
125 Beiträge
 
Delphi 2010 Professional
 
#1

Form mit Button auf anderer Form schließen

  Alt 13. Apr 2013, 23:28
Delphi-Version: 5
Hallo Freunde der Nacht

ich habe insgesamt 3 Formen, 2 davon sind eingabe-Dialoge.
Mainform ruft die Form "eingabe" auf. Diese ruft, wenn eine Eingabe getätigt wurde, die Form "Bearbeiten" auf. Wenn ich bei der form "Bearbeiten" einen Button klicke, soll sich die Form "Eingabe" Schließen.

Ich habe es Schon mit "Form3.close" und "Form3.Destroy" versucht. Beides funktioniert nicht.

Vielleicht habt ihre eine Idee... Die nicht ganz so kompliziert ist

Naja, das kann ja wohl nicht so schwer sein danke euch schonmal

edit//

gerade nochmal release probiert... geht auch nicht
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt *.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 004CB70F in Modul '*.exe'. Lesen von Adresse 00000258' aufgetreten.

Geändert von Blubbel (13. Apr 2013 um 23:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Form mit Button auf anderer Form schließen

  Alt 14. Apr 2013, 00:08
Mit welchem Owner wird Form3 erzeugt (oder ist es automatisch erzeugt)?
Wir wird Form3 aufgerufen Showmodal oder Show?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Blubbel

Registriert seit: 6. Okt 2011
125 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Form mit Button auf anderer Form schließen

  Alt 14. Apr 2013, 10:08
Delphi-Quellcode:
  lForm := TForm3.Create(nil);

  with lForm do
  try
    if ShowModal = mrOK then
    begin
    end;
  finally
    FreeAndNil(lForm);
  end;
die form wird von der mainform aufgerufen.. will sie jediglch auf der form2 schließen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Form mit Button auf anderer Form schließen

  Alt 14. Apr 2013, 10:22
Delphi-Quellcode:
  lForm := TForm3.Create(nil);

  with lForm do
  try
    if ShowModal = mrOK then
    begin
    end;
  finally
    FreeAndNil(lForm);
  end;
die form wird von der mainform aufgerufen.. will sie jediglch auf der form2 schließen
Form3 ist lediglich eine globale Variable und kein irgendwie geartetes god-like Gedöns, was dir den Zugriff auf alle Instanzen von TForm3 gibt.

Wenn du also eine Instanz von TForm3 erstellst und willst diese von irgendwo behandeln/zugreifen, dann solltest du diese Instanz-Referenz auch weitergeben.

Wenn du eine Instanz von TForm2 auf die gleiche Art und Weise erzeugst, dann ist das auch nicht Form2 sondern eben eine Instanz von TForm2 (gleiches Spiel wie mit Form3 ).

Am klügsten wird es wohl sein, ein Event in TForm2 und eine passende Methode in TForm3 zu implementieren.

Diese Methode von TForm3 wird dann dem Event von TForm2 übergeben und dann bei Bedarf aufgerufen.

Delphi-Quellcode:
TForm3 = class( TForm )
public
  procedure CallbackMethod( Sender : TObject );
end;

TForm2 = class( TForm )
private
  FOnCallbackEvent : TNotifyEvent;
protected
  procedure DoCallback;
public
  property OnCallbackEvent : TNotifyEvent read FOnCallbackEvent write FOnCallbackEvent;
end;

procedure TForm2.DoCallback;
begin
  if Assigend( OnCallbackEvent ) then
    OnCallBackEvent( Self );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (14. Apr 2013 um 10:27 Uhr)
  Mit Zitat antworten Zitat
Blubbel

Registriert seit: 6. Okt 2011
125 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Form mit Button auf anderer Form schließen

  Alt 14. Apr 2013, 12:54
Danke dir, werde es am nachmittag oder abend direkt ausprobieren.

Was würde ich bloß ohne euch machen
  Mit Zitat antworten Zitat
Blubbel

Registriert seit: 6. Okt 2011
125 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Form mit Button auf anderer Form schließen

  Alt 14. Apr 2013, 16:00
Sowas doofes habe es ganz einfach Lösen können. Wollte bevor ich den vorgeschlagenen Weg gehe etwas ausprobieren.
Delphi-Quellcode:
  with GForm do
  try
    if ShowModal = mrOK then
    begin
      Form1.CreateChartLines;
    end;
  finally
    FreeAndNil(GForm);
    self.Close;
  end;
Dort rufe ich erst die Form2 auf und im finally schließe ich Form3 einfach.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 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