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


Kommunikation med tråd

Postades av 2004-01-14 14:08:13 - Peter Eriksson, i forum c++, Tråden har 4 Kommentarer och lästs av 1078 personer

Jag undrar om detta går att göra i VC++.

Ifrån ett program skall man starta en tråd.
Inne i tråden skall man skapa ett objekt med ett antal metoder och
properties.

Dessa metoder och properties vill man komma åt ifrån
huvudprogrammet som skall spegla samma interface som
objektet som körs i tråden.

Jag kan förklara mer om det behövs men i princip handlar det om
hur man kommunicerar mellan huvudprogram och tråd.


Svara

Sv: Kommunikation med tråd

Postades av 2004-01-14 14:25:36 - Mattias Sjögren


Först och främst måste du väl se till att huvudtråden får tillgång till objektet. Det kan du göra genom att lagra en pekare till det i någon delad variabel eller skicka tillbaka den via CreateThreads lpParameter eller motsvarande. Sedan är det väl bara att använda objektet från huvudtråden. Se bara till att synkronisera ordentligt så att all delad data läses och skrivs på ett trådsäkert sätt.


MS


Svara

Sv: Kommunikation med tråd

Postades av 2004-01-14 15:08:03 - Peter Eriksson

Är inte lpParameter en in-parameter eller kan jag skicka med en
objektvariabel där som tråder använder för att skapa objektet?


Svara

Sv: Kommunikation med tråd

Postades av 2004-01-14 16:28:56 - Mattias Sjögren

>Är inte lpParameter en in-parameter

Jo, men den kan ju peka till en pekare som tråden sen sätter att peka på det nya objektet.


>eller kan jag skicka med en objektvariabel där som tråder använder för att skapa objektet?

Ja det kan du också göra.


MS


Svara

Sv: Kommunikation med tråd

Postades av 2004-01-19 10:06:51 - Peter Eriksson

Jag får inte till det.
Vad gör jag för fel?
COM-objektet som instancieras i tråden skapas inte.

Har en ATL-komponent där jag har denna h-fil:

class ATL_NO_VTABLE CMyClass :
public IMyClass
{
public:
CMyClass()
: intTal(0)
{

CoInitialize(NULL);

HANDLE hThread;
DWORD threadID;

hThread = CreateThread(NULL, 0, ThreadProc, (LPVOID) &ptr,
0, &threadID);


// Att skapa objektet direkt fungerar
// ptr.CreateInstance(__uuidof(CVBNum));

}


DECLARE_PROTECT_FINAL_CONSTRUCT()

HRESULT FinalConstruct()
{
return S_OK;
}

void FinalRelease()
{
CoUninitialize();
}

private:
int intTal;
_CVBNumPtr ptr;
public:
STDMETHOD(get_pMyTal)(SHORT* pVal);
};


Och bland annat detta i en cpp-fil:


STDMETHODIMP CMyClass::get_pMyTal(SHORT* pVal)
{
if (ptr != NULL)
*pVal = ptr->MyVBNumber();
else
*pVal = -1;

return S_OK;
}


DWORD WINAPI ThreadProc(void* tparam)
{
_CVBNumPtr *ptr = (_CVBNumPtr*) tparam;

ptr->CreateInstance(__uuidof(CVBNum));

MSG msg;
while (GetMessage(&msg, 0, 0, 0))
DispatchMessage(&msg);

return msg.wParam;
}


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 616
27 953
271 709
5 613
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