Delphi-PRAXiS
Seite 2 von 2     12   

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/)
-   -   Delphi Fenster verschwindet (https://www.delphipraxis.net/1971-fenster-verschwindet.html)

phlux 1. Jan 2003 16:56

poste doch mal das komplette OnClick Event des buttons :D

Hansa 1. Jan 2003 17:04

Hi,

@phlux: Daran liegts nicht.

hier liegt der Hund begraben :

Code:
procedure Form1.Edit1Exit(Sender: TObject);
begin
  IF Edit1.text <> '' THEN BEGIN
    Edit1.Enabled := false;
    Transaction.StartTransaction;
    ....
  END
  ELSE BEGIN
    Edit1.Text := '';
    Edit1.SetFocus;
  END;
end;
So siehts jetzt aus. Ursache gefunden Patient noch tot. :mrgreen: Auch wenn ich ein leeres Edit - Feld nicht zulassen will, der Button muß eine Ausnahme bilden, er dient nämlich gerade zum Suchen, falls jemand die Nr. die in das Feld eingegeben werden soll nicht auswendig weiß. Im ButtonClick steht nur Form3.Show.

Gruß
Hansa

phlux 1. Jan 2003 17:13

ahjo dann :lol:

Hansa 1. Jan 2003 17:22

Hi,

Zitat:

Zitat von phlux
ahjo dann :lol:

haha, sehr hilfreich. :wink: Kriege es nicht hin, an den verdammten Button zu kommen, wenn das Feld leer ist.

Gruß
Hansa

phlux 1. Jan 2003 17:34

Sry abermals ich dachte du hättest das problem gelöst, also so wie ich das sehe kommt dein prog wahrscheinlich irgendwie damit durcheinander weil du das editfeld manchmal disablesd. Guck nochmal nach ob im Objektinspektor bei den Events deines F9-Buttons wirklich die Prozedur zum Fensterzeigen eingetragen ist.

Hansa 1. Jan 2003 17:46

Hi,

mühsam ernährt sich das Eichhörnchen. :dancer: Man sehe sich mal weiter oben an, wie es da aussah.

Code:
  ELSE BEGIN
    Edit1.Enabled := true;
    Edit1.Text := '';
    IF NOT Button1.Focused THEN
      Edit1.SetFocus;
    Button1.Enabled := true;
    Button2.Enabled := true;
  END;
Jetzt muß ich mir aber noch einen Button vorknöpfen, den ESC Ende Button. Da kriege ich bestimmt ähnlichen Ärger. :twisted:

Gruß

P.S.: Das ist die Stelle, falls Edit1.Text = '' ist.
Hansa

Hansa 1. Jan 2003 18:08

Hi,

könnt ihr mir noch einmal helfen? Ich glaube dann hab ichs gepackt.

Code:
procedure Form1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  IF NOT LiefModul.LiefDS.IsEmpty THEN BEGIN
    if MessageDlg('Soll der Datensatz gespeichert werden ?',
      mtInformation, [mbYes, mbNo], 0) = mrYes then begin
      LiefModul.LiefDS.post;
      LiefModul.TransAction.Commit;
    END
    ELSE
      LiefModul.Transaction.Rollback;
  END;
  LiefStamm.FormShow (Sender);
end;
Ich weiß nicht wo und wie ich das unterbringen soll. Wie gesagt brauche ich noch einen Ende-Button. Wie kriege ich jetzt genau dieses FormClose in das OnClick-Event des Buttons ? Stecke vor allem wegen des zweiten Parameters Action fest. Onclick hat ja nur Sender. Den Quelltext zu kopieren ginge bestimmt auch, aber das ist wohl nicht der Sinn. Naja, andere die Delphi noch nicht so gut können, kämpfen am Anfang mit den Buttons, ich Idiot fange mit Interbase-SQL-Datenbanken im Netzwerk an. :mrgreen:

Gruß
Hansa

Sebastian Nintemann 1. Jan 2003 18:57

Hallo, was willst du jetzt genau wissen? In die Close procedure kommst du mit
Code:
close;
Sorry wenn das nicht das war was du wissen wolltest, ich hab nur die letzten beiden Postings durchgelesen.

Gruß, Sebastian

Hansa 1. Jan 2003 18:57

Hi,

indem ich es einfach genau umgekehrt mache ! Da bin ich sogar selber drauf gekommen. :lol:

Code:
procedure TLiefStamm.FormClose(Sender: TObject; var Action: TCloseAction);
  BEGIN
    Button2Click (Sender);
  END;

procedure TLiefStamm.Button2Click(Sender: TObject);
begin
  IF NOT LiefModul.LiefDS.IsEmpty THEN BEGIN
    if MessageDlg('Soll der Datensatz gespeichert werden ?',
      mtInformation, [mbYes, mbNo], 0) = mrYes then begin
      LiefModul.LiefDS.post;
      LiefModul.TransAction.Commit;
    END
    ELSE
      LiefModul.Transaction.Rollback;
  END;
  LiefStamm.FormShow (Sender);
end;
Diese Baustelle ist nahezu abgeschlossen. Also nochmals danke für die Hilfe. Alleine wäre ich noch lange nicht fertig. Ich mußte das hier einmal durchexerzieren, damit ich eine Vorlage für ähnliche Fälle habe.

Gruß
Hansa


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 Uhr.
Seite 2 von 2     12   

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