Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


thread messages

Postades av 2004-09-20 10:09:09 - Martin Adrian, i forum api-windows, Tråden har 3 Kommentarer och lästs av 1219 personer

Jag har en applikation som skall skicka meddelanden via MAPI. Programmet fungerar så att jag har en separat tråd som skickar meddelandet och sen använder jag PostThreadMessage till denna tråd med meddelandet.
Min applikation är i c++ men det här handlar mer om hur windows hanterar meddelanden.

Problemet jag har är att det verkar som om MAPI har sin egen meddelandehantering. Det innebär att om jag skickar ett meddelende till tråden medan den håller på med nåt MAPI anrop så försvinner meddelandet. (byter jag ut MAPI anropen mot Sleep() så fungerar det).

Antar att jag måste använda "hooks" eller events istället men det gör det hela så mycket mer komplicerat. Hittar inget i MAPI dokumentationen om detta och det gör mig lite fundersam över vad man kan använda thread messages till.

Hur gör man normalt för att kommunicera med worker threads.


Svara

Sv: thread messages

Postades av 2004-09-20 14:59:59 - Andreas Paulsson

Hejsan.

Jag (tillsammans med andra) implementerade worker threads i produkten SpatialAce (http://www.spatialace.com) som läste in data från disk asynkront med att uppdateringen på skärmen körde på som vanligt i GUI-tråden.

Vi använde då inte PostThreadMessage alls för att kommunicera mellan trådarna, utan använde events för att synkronisera (arbetartråden gjorde WaitFor[Multiple|Single]Objects) och sedan så kommunicerade trådarna via andra trådsäkrade datastrukturer (en stl::list i vårat fall).

Det kändes enklare tankemässigt tyckte jag eftersom jag tidigare gjort liknande saker i t.ex. Java. Dessutom så kommunicerar trådmeddelanden för worker threads med dolda fönster, vilket kan ge andra problem (märkliga bieffekter) om t.ex. COM eller .NET är inblandat (COM och .NET verkar intern ha dolda fönster).

Ett annat tips med worker threads: glöm inte att du inte får släppa ifrån dig exceptions, då de annars orsakar Access Violations.

/Andreas


Svara

Sv:thread messages

Postades av 2005-01-12 08:32:50 - Daniel Petersson

du behöver inget fönster för att skicka windows msgs till en tråd, det ända som krävs är att tråden har en message queue vilket windows skapar till dig.


Svara

Sv: thread messages

Postades av 2005-01-12 08:38:36 - Daniel Petersson

enligt dokumentationen om PostThreadMessage står det under remarks att msgs kan förloras om den mottagande tråden är i en modal message loop. Jag ser ingen anledning varför MAPI skulle befinna sig i en sådan, men det verkar ju ändå som att den förlorar ditt msgs.

Vad ska du då göra? Du kan välja att använda Win32 events för att kommunicera mellan trådarna även om det inte är den mest optimala lösningen ur prestanda alternativ.


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 576
27 958
271 741
5 952
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies