AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Serververbindung nach FormCreate

Ein Thema von lukdelphias · begonnen am 31. Jul 2020 · letzter Beitrag vom 31. Jul 2020
Antwort Antwort
Seite 1 von 2  1 2   
lukdelphias

Registriert seit: 23. Jun 2020
50 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 09:48
Keine schlechte Idee. Aber wenn ich OnShow richtige verstehe, wird der Code dort ausgeführt kurz bevor die GUI geöffnet wird ist das richtig?
Passieren sollte das ganze allerdings erst wenn die GUI bereits geöffnet ist, das hab ich am Anfang vergessen zu schreiben...
Seht ihr dafür eine Möglichkeit?

Grüße
  Mit Zitat antworten Zitat
lukdelphias

Registriert seit: 23. Jun 2020
50 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 09:51
Also laut Klaus Tipp müsste ja OnShow ausgeführt werden wenn die GUI schon zu sehen ist oder?
Was ist davon jetzt richtig?

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 09:52
OnActivate sollte der richtige Ort sein - aber Vorsicht, sicherstellen, dass deine Verbindung nur beim ersten Aufruf gesetzt wird.

Grüße
mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 10:01
Das wird doch gefeuert wenn man den Fokus vom Fenster verliert und wieder bekommt, oder? Bin mir da selbst gerade nicht sicher.

//edit
Zitat:
Use OnActivate to perform special processing when the form receives focus. A form becomes active when focus is transferred to it (when the user clicks on the form, for example).

Note: The OnActivate event of the application (TApplication), not the form, occurs when Windows switches control from another application.
Gruß vom KodeZwerg

Geändert von KodeZwerg (31. Jul 2020 um 10:04 Uhr)
  Mit Zitat antworten Zitat
lukdelphias

Registriert seit: 23. Jun 2020
50 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 10:06
OnActivate sehe ich auch eher als nicht richtig da hier ein Mehrfachaufruf möglich ist. Bin mir aber auch nicht sicher wann OnShow ausgeführt wird
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 10:13
Hallo,

procedure TForm2.FormOnActivate;
begin
OnActivate:= nil;

Damit wird das OnActivate nur einmal aufgerufen
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#7

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 10:16
Delphi-Quellcode:
procedure TDingensForm.OnActivate(Sender: TObject);
begin
  if not Verbunden then
    begin
      Verbinde;
      Verbunden := true;
    end;
end;
Damit kann das Ereignis so oft feuern, wie es will, Verbinde wird nur einmal ausgeführt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
lukdelphias

Registriert seit: 23. Jun 2020
50 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 10:18
Delphi-Quellcode:
procedure TForm1.FormOnActivate;
begin
   LEdtMA.ReadOnly := true;
   LEdtAS.ReadOnly := true;
end;
zum testen habe ich das erstmal so geschrieben. Allerdings kann ich in den Textfelder die ganze Zeit schreiben. Heißt die procedure wird nicht ausgeführt. Aber warum?
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 11:47
Doch, das OnActivate eignet sich schon. Ich mache das in meinen Anwendungen auch. Wichtig ist nur ein entsprechendes Flag zu setzen welches nach dem ersten Aufruf gesetzt wird, damit es zukünftig nicht mehr aufgerufen wird.

Pseudocode

Delphi-Quellcode:
Procedure Form1.OnCreate
Begin
 FAppStart := True; // Variable in Form1
End;

Procedure Form1.OnActivate
Begin
 If FAppStart then begin
// Hier Initialisierungen etc. ausführen
 FAppStart := False;

 End;
End;
Michael Kübler
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
637 Beiträge
 
Delphi XE6 Enterprise
 
#10

AW: Serververbindung nach FormCreate

  Alt 31. Jul 2020, 13:21
Ich nutze für sowas auch gerne ein eigenes Event, welches per PostMessage im OnShow aufgerufen wird:

Delphi-Quellcode:
const
  WM_AFTERSHOW = WM_USER + 50;

type
  TMainForm = class(TForm)
  [...]
  procedure WMAfterShow(var Msg: TMessage); message WM_AFTERSHOW;
  [...]
  end;

procedure TMainForm.FormShow(Sender: TObject);
begin
  [...]
  PostMessage(Handle, WM_AFTERSHOW, 0, 0);
end;

procedure TMainForm.WMAfterShow(var Msg: TMessage);
begin
  MachWasImmerGetanWerdenMuss;
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:46 Uhr.
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