AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi seltsames Problem mit Messages unter w2k
Thema durchsuchen
Ansicht
Themen-Optionen

seltsames Problem mit Messages unter w2k

Ein Thema von FriFra · begonnen am 6. Jun 2005 · letzter Beitrag vom 7. Jun 2005
Antwort Antwort
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#1

seltsames Problem mit Messages unter w2k

  Alt 6. Jun 2005, 14:55
Ich hab ein Programm, welches mit einer Hilfsapplikation über Messages (SendMessageTimeout) kommuniziert. Das ganze läuft seit jahren auf zahlreichen PC's (Win9.x, 2000, XP)...
Heute hab ich bei einem Kunden mit Windows2000 ein seltsames Problem. Sobald mein Hauptprogramm eine Message sendet hängt es, obwohl ich zum Senden einen Timeout von max 5 Sekunden festgelegt habe . Das Problem habe ich, wie gesagt, noch nie gehabt und weiss daher im Moment nicht was unter Windows das versenden der Messages behindern könnte bzw. warum der Timeout nicht funktioniert ?

Das es an den Messages hängt, kann man sehr gut sehen... sobald ich das Hilfsprogramm über den Taskmanager abschiesse reagiert das Hauptprogramm wieder normal...

Delphi-Quellcode:
procedure TMainApp_Main.MySendHelperApp(MyMessage: string; TimeOut: cardinal);
var
  MyCopyDataStruct: TCopyDataStruct;
  hTargetWnd: HWND;
  result: cardinal;
begin
  hTargetWnd := 0;
  with MyCopyDataStruct do
  begin
    dwData := 0; // may use a value do identify content of message
    cbData := StrLen(PChar(MyMessage)) + 1;
    lpData := PChar(MyMessage)
  end;
  hTargetWnd := FindWindow(PChar('THelperApp_Main'), nil);
  if hTargetWnd <> 0 then
  begin
    CCursor := Screen.Cursor;
    Screen.Cursor := crHourGlass;
    SendMessageTimeout(hTargetWnd, WM_COPYDATA, Longint(Handle),
      Longint(@MyCopyDataStruct), SMTO_ABORTIFHUNG, TimeOut, result);
    Screen.Cursor := CCursor;
  end;
end;
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

Re: seltsames Problem mit Messages unter w2k

  Alt 6. Jun 2005, 15:00
WM_COPYDATA - Es gibt diverse Programme (Hilfstools von Grafikkarten oder Remoting-Software, Hydravision DesktopManager) welche diese Message falsch behandeln und teilweise einfach wegschmeißen). Kannst Du eine eigene definierte WM-Message-Id definieren/verwenden?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#3

Re: seltsames Problem mit Messages unter w2k

  Alt 6. Jun 2005, 15:06
Eine eigene Message könnte ich schon definieren... Aber ich verstehe nicht, warum das ganze Programm nach versenden Hängt, obwohl es doch einen Timeout gibt?
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: seltsames Problem mit Messages unter w2k

  Alt 7. Jun 2005, 08:17
Solche Programme hängen sich teilweise so tief im System rein das auch solche eigentlich "Müßte Doch Immer Funktionieren"-Features davon betroffen sein können.
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 13:32 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