![]() |
Delphi-Version: XE
XE und Messages Phänomen
Moin alle...
letztens hat mich XE ein wenig überlistet... (oder ich mich ?) :gruebel: Gegebenheiten, Unit im Mainthread:
Delphi-Quellcode:
Message abschicken aus Thread, der im Mainthread erzeugt wird:
.
. private procedure BlaBla(var Msg: TMessage); Message WM_BLA; . . procedure BlaBla(var Msg: TMessage); begin . // Aufgaben abarbeiten . end;
Delphi-Quellcode:
Phänomen:
const
WM_BLA = WM_USER + 1; . . PostMessage(HandleFenster, WM_BLA, wParam(Self), 0); - als erstes flogen mir Zugriffsverletzungen um die Ohren... hä, dachte ich :gruebel: - dann kam ich drauf, daß die Procedure BlaBla bei jeder Message ausgeführt wird. (nicht nur WM_BLA) - ich mußte in der Procedure die Message noch einmal unterscheiden..
Delphi-Quellcode:
Könnte das bitte jemand erklären. Kann das jemand reproduzieren ?
if Msg.Msg = WM_BLA then
Ein schönes Wochenende :hi: |
AW: XE und Messages Phänomen
Zitat:
|
AW: XE und Messages Phänomen
kann ich zum Glück überhaupt nicht reproduzieren....
entweder ist der Aufruf
Delphi-Quellcode:
an einer ungünstigen Stelle verbaut (OnPaint,OnMouseMove etc.) oder eine Deiner Komponenten feuert in einem einem ähnlichen Ereignis.
PostMessage(HandleFenster, WM_BLA, wParam(Self), 0);
|
AW: XE und Messages Phänomen
Danke für Eure Tipps:
kurze Rückmeldung: - in einer Testanwendung bei der das Handle der Form benutzt wird funktioniert es. - wenn ich aber ein Handle mit HandleFenster := AllocateHWnd(BlaBla); erzeuge ist das Verhalten zu reproduzieren. Ich weise ja die BlaBla Methode zu. Die Frage ist, warum dann die Message Direktive nicht greift und alle Messages in BlaBla ankommen. |
AW: XE und Messages Phänomen
Zitat:
In diesem Fall setzt du den Message-Mechanismus von Delphi ausser Kraft, der sich übrigens in
Delphi-Quellcode:
befindet.
TObject.Dispatch
|
AW: XE und Messages Phänomen
Danke für die Bestätigung...
so etwas habe ich mir auch grad gedacht. Also in so einem Falle ist die Message Unterscheidung nur innerhalb der Procedure möglich. wieder was gelernt... :zwinker: |
AW: XE und Messages Phänomen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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