AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Windows message queue - Limit erreicht?

Windows message queue - Limit erreicht?

Ein Thema von moelski · begonnen am 8. Dez 2010 · letzter Beitrag vom 8. Dez 2010
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

AW: Windows message queue - Limit erreicht?

  Alt 8. Dez 2010, 19:42
Moin !

Zitat:
Der Speicher von _msg wird nicht wieder freigegeben.
Sollte doch in DecodeHID mittels Dispose(_msg) erfolgen ?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Windows message queue - Limit erreicht?

  Alt 8. Dez 2010, 19:55
Lokale Variablen verlieren ihre Gültigkeit beim Verlassen der Routine. _msg aus HidAfterReceive ist in Decode-Dingsbums unbekannt. Zu mal du in Decode-Dingsbums _msg auch deklariert hast. Das sind zwei unterschiedliche Variablen, auch wenn sie gleich heißen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#3

AW: Windows message queue - Limit erreicht?

  Alt 8. Dez 2010, 20:04
Lokale Variablen verlieren ihre Gültigkeit beim Verlassen der Routine. _msg aus HidAfterReceive ist in Decode-Dingsbums unbekannt. Zu mal du in Decode-Dingsbums _msg auch deklariert hast. Das sind zwei unterschiedliche Variablen, auch wenn sie gleich heißen.
Oberflächlich betrachtet ist diese Aussage natürlich korrekt - aber wenn man es genauer anschauen würde, würde man erkennen, dass zwischen den beiden Funktionen die erwähnte Windows-Message-Queue steckt, welche den Pointer auf den vermeindlich nicht freigegebenen Speicher an die Funktion überliefert, welche den Speicher dann korrekt freigibt - das Speicher-Handling ist korrekt...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Windows message queue - Limit erreicht?

  Alt 8. Dez 2010, 20:11
OK, aber was passiert, wenn es dabei zu einem Fehler kommt? Dann hast du den Schlamassel.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Windows message queue - Limit erreicht?

  Alt 8. Dez 2010, 20:13
Zitat:
Schlamassel
Den habe ich gerade schon ohne Fehler

Drum versuche ich mich gerade an himutsu Vorschlag.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.381 Beiträge
 
Delphi 12 Athens
 
#6

AW: Windows message queue - Limit erreicht?

  Alt 8. Dez 2010, 20:14
Da hab ich grad noch was gefunden
http://www.delphipraxis.net/142681-generics-stack.html
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Windows message queue - Limit erreicht?

  Alt 8. Dez 2010, 20:32
Moin himitsu

Zitat:
Dank der Generics kann man ihn in allen möglichen Formaten erstellen
und er ist auch noch threadsicher.
WOW !!

Ich bin echt beeindruckt. Das könnte doch schon mein Problem lösen

Eine Frage hät ich aber noch ...
Ich habe deinen Codeschnippsel von Post #9 mal in meine testanwendung eingepflanzt.
Das funktioniert soweit auch.
Nun stellt sich mir nur noch die Frage ... Wie gebe ich dem Hauptthread nun zu verstehen das er sich mal um Daten kümmern soll?

- Timer ? Unschön und sicher nicht der beste Weg.
- Windows Message ? Nur wann wird die abgefeuert (Ich muss ja sicherstellen das ich nach dem Empfang auch immer die ganze Queue leer "lese").
- ??
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:44 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