Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probleme Windows Message (https://www.delphipraxis.net/148838-probleme-windows-message.html)

Surrounder 9. Mär 2010 12:20


Probleme Windows Message
 
Hallo Forum,

ich verwende zur Kommunikation mit einer Hardware eine zugehörige Dll. Diese löst eine Windows Message aus wenn neue Messdaten anstehen. Das alles funktioniert auch wunderbar und ohne Probleme, bis jetzt.

Ich habe das bei zahlreichen PC´s am laufen, und wollte das heute auf einen weiteren aufspielen. Dort ist es nun aber so dass diese Windows Messages nicht bei mir ankommen. Ich sehe mit einem Sniffer dass die Daten zwischen Gerät und PC ausgetauscht werden, aber meine Software reagiert nicht darauf. Wenn ich das ganze auf einen anderen PC eines anderern Herstellers kopiere dann funktioniert das wieder ohne Probleme. Leider kann ich den getauschten PC nicht dort lassen sondern muss das auf dem PC des Kunden (HP Compaq dx2420 Microtower) zum laufen bekommen.

Wir haben zur Sicherheit den PC gegen einen Baugleichen getauscht, und das selbe Problem damit.

Folgende Infos noch zum PC:

- XP Professional mit SP3 als downgrade von Vista 32 Bit
- 160GB Festplatte
- 1TB Speicher

Hat jemand eine Idee an was das liegen könnte? Auffällig ist dass es wohl bei HP Rechnern so ist. Ich bin kein PC Anfänger, aber es ist auf den ersten Blick keine zusätzliche Firewall oder Viresnscanner installiert der hier was blocken könnte.

Müssen denn um Windows Messages zu bekommen irgend welche Dienste aktiviert sein ohne die es nicht geht? Danke für jeden Tip.

Steffen

s.h.a.r.k 9. Mär 2010 12:34

Re: Probleme Windows Message
 
Hab neulich gelesen, dass Windows-Messages die Rechteverwaltung von Windows durchlaufen und durch verminderte Rechte nicht an ihr Ziel gelangen können. Wobei diese Aussage auf Windows Vista/7 bezogen war.

Hast du die Anwendung schon mal als Administrator ausgeführt?

Surrounder 9. Mär 2010 12:45

Re: Probleme Windows Message
 
ich bin direkt mit dem Benutzer Administrator angemeldet.

diese Option als Administrator ausführen gibt es ja unter XP noch nicht.

s.h.a.r.k 9. Mär 2010 12:49

Re: Probleme Windows Message
 
Es gibt dort die Funktion "Ausführen als...", aber daran wird es dann nicht weiter liegen glaube ich. Oder bist du in einer Domäne? Seltsam wäre dann aber, dass diese Rechte beschnitten wären, ergo liegt es eher an etwas anderem :gruebel:

Surrounder 9. Mär 2010 12:58

Re: Probleme Windows Message
 
Ah ok, Ausführen als gibt es, aber das steht per default auf dem aktuellen User und der hat Administrator Rechte. Nein bin in keiner Domäne, ganz normaler Client PC der nur direkt mit der Hardware verbunden ist.

Wie gesagt die Daten kommen am PC an, ich sehe die mit dem Sniffer. Wenn keine Daten kommen, dann kommt es zu einem timeout in der dll und die Anfrage wird wiederholt. Ich sehe aber im Sniffer dass die Kommunikation normal läuft und es zu keinen Retrys kommt, deshalb bin ich mir ziemlich sicher dass die dll auch die Message auslöst und diese Message aber bei mir nicht ankommt.

fatalerror 9. Mär 2010 13:04

Re: Probleme Windows Message
 
Hast Du schon mal geschaut ob evtl. die Datenausführungsverhinderung (DEP) aktiviert ist?

Surrounder 9. Mär 2010 13:09

Re: Probleme Windows Message
 
ja hab ich geschaut, steht auf "nur für erforderliche Programme und Dienste aktivieren". Auf der Einstellung steht es bei meinem anderen Rechner auf dem es funktioniert auch.

s.h.a.r.k 9. Mär 2010 13:14

Re: Probleme Windows Message
 
Irgendwelche fehlenden Treiber vielleicht?

fatalerror 9. Mär 2010 13:17

Re: Probleme Windows Message
 
gibt es evtl. irgendwelche Einträge in der Ereignisanzeige?

Surrounder 9. Mär 2010 13:20

Re: Probleme Windows Message
 
ich kann es natürlich nicht 100% ausschließen.

Aber es ist ein original XP von HP das ohne Probleme durchgelaufen ist und in der Systemsteuerung keine Probleme anzeigt. Die Netzwerkkarte funktioniert wenn ich die ins Firmennetzwerk hänge problemlos. So Dinge wie Autonegotiation etc. habe ich schon ziemlich durchgetestet. Grundsätzlich funktioniert die Kommunikation mit der Hardware ja, nur die Befehle die auf diese Messages warten, die gehen nicht.

Ereignisanzeige hat auch keine auffälligen Einträge die auf ein Problem hindeuten

s.h.a.r.k 9. Mär 2010 13:25

Re: Probleme Windows Message
 
Schon mal ein Programm geschrieben, welches sich selbst Messages schickt bzw. zwei Instanzen getestet, die Messages hin und her schicken?

fatalerror 9. Mär 2010 13:31

Re: Probleme Windows Message
 
Nun würde _ich_ mal den Dependency Walker durchlaufen lassen. Evtl hat da irgend ein DLL Konflikt bzw DLL-Hölle zugeschlagen und gewisse Abhängigkeiten deiner DLL sind nicht erfüllt.

Surrounder 9. Mär 2010 14:18

Re: Probleme Windows Message
 
hmm also nun bin ich verwirrt :-(

Ich habe nun eine andere Software die ich vor Jahren in Delphi 2006 geschrieben habe mit Messages gestartet und die läuft ohne Probleme zusammen mit der Hardware.

Meine neue Software die ich mit Delphi 2010 geschrieben habe hingegen läuft auf meinem Laptop und meinem Desktop PC auf dem auch die Entwicklungsumgebung installiert ist problemlos, auf dem Endrechner aber nicht mehr. Wie geht denn so etwas?

Surrounder 9. Mär 2010 14:45

Re: Probleme Windows Message
 
Ähm ja also ich hatte mich erinnert schon einmal Probleme mit Messages gehabt zu haben und habe deshalb einfach mal alles was "unnütz" im quellcode ist auskommentiert.

Wie gesagt auf meinem Entwicklungsrechner geht es auch ohne dass ich das auskommentiere, auf dem HP Rechner geht es nun auch wenn ich folgenden Quellcode auskommentiere

Delphi-Quellcode:
   // Bildschirmauflösung prüfen und Softwarefenster entsprechend setzen
   if Screen.Width = 1280 then begin
      MainWindow.Top         := 0;
      MainWindow.Left      := 0;
      MainWindow.Position   := poDesigned;
   end
   else if Screen.Width > 1280 then begin
      MainWindow.Position   := poScreenCenter;
   end
   else if Screen.Width < 1280 then begin
      globdat.Textmeldungen( '1007', '', True );
   end;
Kann sich oder mir das jemand erklären?


Ergänzung:

Also ich bekomme den Fehler nun bei mir am PC auch simuliert. Sobal ich den Wert "MainWindow.Position" mit irgend einem Wert setze gehen die Messages nicht mehr. Wenn ich das direkt in den Properties voreinstelle, sind aber alle Parameter erlaubt und funktionieren auch.


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