AGB  ·  Datenschutz  ·  Impressum  







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

SendMessage vs. PostMessage

Ein Thema von DerAndereMicha · begonnen am 30. Jul 2004 · letzter Beitrag vom 30. Jul 2004
Antwort Antwort
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#1

SendMessage vs. PostMessage

  Alt 30. Jul 2004, 08:51
hab ein kleines Problem, was ich auch schon bei Spotlight.de beschrieben habe:

habe zwei Programme die sich gegenseitig Messages über SendMessage(h, WM_COPYDATA, 0, LongInt(@cd)) senden.Nun wartet ja SendMessage bekanntlich solang bis die Empfangs-
bestätigung des Empfängers eintrifft. Unter bestimmten Umständen wird aber auf der
anderen Seite ein Fenster modal geöffnet und erst beim Schließen von diesem kommt die Empfangsbestätigung, was dazu führt, daß das Sender-Programm in dieser Zeit "eingefroren"
ist. Wenn ich PostMessage verwende kommt die Message aber nie an. An was kann das liegen?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: SendMessage vs. PostMessage

  Alt 30. Jul 2004, 09:13
Zitat von DerAndereMicha:
hab ein kleines Problem, was ich auch schon bei Spotlight.de beschrieben habe:

habe zwei Programme die sich gegenseitig Messages über SendMessage(h, WM_COPYDATA, 0, LongInt(@cd)) senden.Nun wartet ja SendMessage bekanntlich solang bis die Empfangs-
bestätigung des Empfängers eintrifft. Unter bestimmten Umständen wird aber auf der
anderen Seite ein Fenster modal geöffnet und erst beim Schließen von diesem kommt die Empfangsbestätigung, was dazu führt, daß das Sender-Programm in dieser Zeit "eingefroren" ist.
Dazu könntest Du in deinem Zielprogramm nochmal sich selbst ein Event schicken (oder einen Timer starten), so das die Funktion sofort zurückkommt

Zitat von DerAndereMicha:
Wenn ich PostMessage verwende kommt die Message aber nie an. An was kann das liegen?
Diverse Desktop-"Enhancements" verschlucken WM_COPYDATA-Events, so das diese einfach nicht durchkommen. Also wenn möglich auf einen User-Message umstellen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#3

Re: SendMessage vs. PostMessage

  Alt 30. Jul 2004, 09:26
WM_COPYDATA funktioniert nur mit SendMessage, nicht mit PostMessage !

wie Bernhard erwähnt hat, sollte man beim Erhalt von WM_COPYDATA die Daten in eine eigene Struktur umkopieren, dann sich selbst benachrichtigen (z.B. per PostMessage) und "möglichst schnell" die Prozedur zurückkehren lassen.

Roderich
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#4

Danke

  Alt 30. Jul 2004, 12:05
Danke für die Infos
Der Weg ist das Ziel...
  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 09:41 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