Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   PostMessage kommt nicht an (https://www.delphipraxis.net/210302-postmessage-kommt-nicht.html)

TurboMagic 1. Apr 2022 14:16

PostMessage kommt nicht an
 
Hallo,

ich habe gerade 2 Probleme:

1. Mein Browser (Firefox 91esr) zeigt gerade keine Icons mehr für die DP hier an,
Avatarbilder und die SMileys rechts von diesem Editor ausgenommen...
Hat noch jemand so ein Problem?

2. In meiner Anwendung habe ich einen Mechanismus wo eine eigene wm_MeineMessage
per PostMessage an Application.MainFormHandle geschickt wird. Während der Laufzeit
klappt das gut und die geschickte Zahl kann auf dem Bildschirm angezeigt werden.
Nur wird der Mechanisums aus einem OnTimer Event, welches von einem im OnShow
des Hauptformulars gestarteten Timer ausgelöst wurde kommt die Message nie im
Hauptformular an. Der Timer hat 20 ms Interval.

Grüße
TurboMagic

Blup 1. Apr 2022 14:39

AW: PostMessage kommt nicht an
 
OnShow ist vieleicht ein bischen zu früh, versuch mal OnActivate.

TurboMagic 1. Apr 2022 15:13

AW: PostMessage kommt nicht an
 
Werde ich versuchen, aber kommt das dann nicht jedes Mal,
wenn die Anwendung in Vordergrund geholt wird, z.B. weil ich
die auf der Taskleiste anklicke?

Falls ja, müsste ich das mittels Flag auf's erste Mal beschränken...

Poelser 1. Apr 2022 15:38

AW: PostMessage kommt nicht an
 
Oder mit 'ner Message OnAfterShow ?

peterbelow 1. Apr 2022 15:56

AW: PostMessage kommt nicht an
 
Zitat:

Zitat von TurboMagic (Beitrag 1504185)
Hallo,

2. In meiner Anwendung habe ich einen Mechanismus wo eine eigene wm_MeineMessage
per PostMessage an Application.MainFormHandle geschickt wird. Während der Laufzeit
klappt das gut und die geschickte Zahl kann auf dem Bildschirm angezeigt werden.
Nur wird der Mechanisums aus einem OnTimer Event, welches von einem im OnShow
des Hauptformulars gestarteten Timer ausgelöst wurde kommt die Message nie im
Hauptformular an. Der Timer hat 20 ms Interval.

Grüße
TurboMagic

Die VCL neigt dazu, form handles mitunter neu zu erzeugen, wenn sich bestimmte properies des forms ändern. Das kann besonders während der creation sequence passieren. Es ist sicherer, sich für solche internen messaging Aktivitäten ein separates Handle via AllocateHwnd zu erzeugen; über das hat man die volle Kontrolle.

Zu 1.: Mein Firefox 98.0.2 (64-Bit) zeigt alle Icons an.

hoika 2. Apr 2022 11:21

AW: PostMessage kommt nicht an
 
Hallo,
nimm trotzdem OnActivate und setze es danach auf NIL.
Dann wird es für Dich nicht mehrfach aufgerufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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