AGB  ·  Datenschutz  ·  Impressum  







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

SetFocus will nicht ...

Ein Thema von TERWI · begonnen am 19. Aug 2022 · letzter Beitrag vom 21. Aug 2022
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

AW: SetFocus will nicht ...

  Alt 19. Aug 2022, 18:22
(Richtig) lesen bildet !
Freundlichkeit auch!
Hättest du meine DLL getestet wäre dein Problem längst erledigt.
Aber da kein Kommentar dazu kam habe ich es wieder entfernt.

Jeder wie er will.
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: SetFocus will nicht ...

  Alt 19. Aug 2022, 19:05
Sorry vielmals, wenn das irgendwie in den falschen Hals gekommen ist.
War definitiv nicht böse oder sonst wie persönlich oder abwertend gemeint !

Nur:
Deine Code-Schnipsel haben nicht wirklich weitergeholfen

Und:
Zitat:
laden wo auch immer.
... tja, was wo genau ? Link(s) ?

Wenn man helfen möchte, sehe ich das grundsätzlich als absolut positiv an.
Aber wenn der zu Helfende im Nirwana selbst recherchieren soll (was [hoffentlich !] die meisten vorher machen), dann ... eher 'nicht so positiv'.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.861 Beiträge
 
Delphi 12 Athens
 
#3

AW: SetFocus will nicht ...

  Alt 19. Aug 2022, 20:29
Es ist keine gute Idee so viel im OnActivate zu machen, schon gar nicht Änderungen am Fokus. Denn das OnActivate passiert ja gerade erst beim Anzeigen des Fensters. Du könntest dir z.B. selbst mit PostMessage eine Nachricht an dein Fenster schicken, die dann erst hinterher abgearbeitet wird, und dort diese Aktionen ausführen.

Aber auch ich kann das Problem nicht nachvollziehen. Ohne Beispielprojekt sehe ich nicht, wie ich hier zielgerichtet helfen könnte.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#4

AW: SetFocus will nicht ...

  Alt 19. Aug 2022, 21:10
Denn das OnActivate passiert ja gerade erst beim Anzeigen des Fensters.
Angezeigt ist es schon ... das war OnShow.

OnActivate ist, wenn das Fenster den Fokus bekommen hat,
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: SetFocus will nicht ...

  Alt 19. Aug 2022, 21:29
OnActivate habe ich gerade deswegen genommen, weil:
- Alle Units/Klassen sind dann initialisiert.
- Die MainForm wird (das erste mal) gestartet.
... so weit ich das alles richtig verstanden habe.

Zitat:
OnActivate ist, wenn das Fenster den Fokus bekommen hat
KORREKT !
... durch was & wen auch immer ...
Beim Programmstart auf jeden Fall.
ABER EBEN NICHT (mehr) wenn die procedure durch ist und es das LOGWIN gibt !
Da kann ich zuweisen/intitalisieren was ich will - geht einfach nicht
Auch das MainHandle an den LOGGER geben und dort SetForeGround o. ä. machen hilft nicht

Damit hab ich mich mal ne Zeit lang selbst vereimert.
Und dass das erneute Ausführen meiner Initialisierung eben nicht noch passiert, gibt es das Flag "FIsInit".
... wenn ich das versehentlich auskommentiert hatte, .... oh weia.
Ich weiß, nicht ganz sauber aber wenn man drauf achtet funzt das 1A !

Was den Focus angeht, hatte ich da vorhin eine Idee...
Bastle grade dran und gebe noch "Bescheid".

Geändert von TERWI (19. Aug 2022 um 21:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#6

AW: SetFocus will nicht ...

  Alt 19. Aug 2022, 21:40
Das sind sie auch so.

OldCreateOrder sollte man aber auf False stellen, falls es das nicht ist. (das wird True, wenn man extrem uralte Units/Forms in der IDE öffnet und kein OldCreateOrder nicht in der DFM stand ... bei neuen Forms ist es False)
OnCreate wurde früher im Create ausgeführt, aber nun erst im AfterCreate.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: SetFocus will nicht ...

  Alt 19. Aug 2022, 21:58
Zum besseren Verständnis:

Jede Unit/Klasse die ich verwende hat jeweils eigene Initialisierungen für sich selbst mit:
- OnCreate (Elementares intern)
- OnDestroy (Dito)
für eigenen internen Kram, automatisch beim Programmstart zur elementaren Initialisierung.
Dazu hat jede Klasse die Funktionen
- OnInit mit Parametern, die erst zum Programmstart bekannt werden (z.B. INI-File)
- OnExit zur sicherung zwischenzeitlicher Änderungen intern eigen erzeugter Daten
welche ich in der MainForm eben in Activate/OnDestroy vor der "Zerstörung" allem anderen aufrufe.
Da kann ich sicher sein, das alles Grundlegende sonstwie definitiv passiert ist und ich alles weitere passend einstellen kann.

Da wird nix verbogen, geschachert, manipuliert oder sonstwas - straight wie es das Proggie braucht wird initialisiert und umgekehrt ggf. gesichert und freigegeben.

Wenn alles an der richtigen Stelle richtig gemacht wird, lüppt dat wie anne Schnur getreckt.
Loggo... wenn da nicht manchmal so Kleinigkeiten einem den Spaß vermiesen.

Geändert von TERWI (19. Aug 2022 um 22:40 Uhr)
  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 05:36 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 by Thomas Breitkreuz