Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » weiß nicht weiter: Problem mit Thread

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
21.06.2005, 15:29 Uhr
Wiesenlieger



Hallo Leute,
ich lerne grad einzelne Threads (Worker-...) zu erstellen.
Leider bekomm ich immer wieder die FM:
"error C2665: 'AfxBeginThread' : Durch keine der 2 Ueberladungen kann Parameter 1 vom Typ 'unsigned int (void *)' konvertiert werden"

aufrufende Methode

C++:
void CSynCamDoc::OnButtonSearchObjects()
{
    testthread = AfxBeginThread(ThreadFunc, (LPVOID)this);
        // testthread ist ein Zeiger vom Typ CWinThread
}



die Threadfunktion

C++:
UINT CSynCamDoc::ThreadFunc(LPVOID pParam)
{
    MessageBox(NULL, "thread", "", MB_OK);

    return 0;
}



Bitte helft, ich weiß nicht mehr weiter
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.06.2005, 15:45 Uhr
Tommix



Hallo,
die Threadfunktion muß statisch sein.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.06.2005, 16:22 Uhr
Wiesenlieger



hilft leider auch nicht weiter
- gleicher Fehler

Dieser Post wurde am 21.06.2005 um 16:22 Uhr von Wiesenlieger editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.06.2005, 16:29 Uhr
Tommix



Weiter kann ich nichts finden. Der Fehler schein außerhalb von dem, was Du gepostet hast zu liegen. Zeig mal den Header mit der Klassendeklaration.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.06.2005, 16:37 Uhr
Wiesenlieger



biddeschön:

C++:
// SynCamDoc.h : Schnittstelle der Klasse CSynCamDoc
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_SYNCAMDOC_H__3179821A_575F_45E1_A8A3_FB3CE7E3B93B__INCLUDED_)
#define AFX_SYNCAMDOC_H__3179821A_575F_45E1_A8A3_FB3CE7E3B93B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Easy.h"
#include "../DrwngOps/DrwngOps.h"
#include "../DrwngOps/DrawOb.h"
#include "CircleROI.h"
#include "ROIArray.h"
#include "RadiusDLG.h"
#include "ProgressDLG.h"

class CSynCamDoc : public CDocument
{
protected: // Nur aus Serialisierung erzeugen
    CSynCamDoc();
    DECLARE_DYNCREATE(CSynCamDoc)

// Attribute
public:
// Operationen
public:
    EImageBW8 m_Image;  // 8Bit S/W Bitmap -> sie eVision

// Überladungen
    // Vom Klassenassistenten generierte Überladungen virtueller Funktionen
    //{{AFX_VIRTUAL(CSynCamDoc)
    public:
    virtual BOOL OnNewDocument();
    virtual void Serialize(CArchive& ar);
    //}}AFX_VIRTUAL

// Implementierung
public:
    UINT ThreadFunc(LPVOID pParam);
    void RecallLastFunktion();
    void EndDrawing(bool end);
//    CCircleROI* m_pROI;
//    int m_iLastMouseAction;
//    void OnRButtonDown(UINT nFlags, CPoint point);
//    void OnLButtonDown(UINT nFlags, CPoint point, float zoom);
    CROIArray m_roiArray;
//    int m_iMouseAction;
    CDrawOb* m_pDraw;
    virtual ~CSynCamDoc();
#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generierte Message-Map-Funktionen
protected:
    //{{AFX_MSG(CSynCamDoc)
    afx_msg void OnButtonSearchObjects();
    afx_msg void OnButtonDrawROI();
    afx_msg void OnButtonMove();
    afx_msg void OnButtonErase();
    afx_msg void OnButtonSelect();
    afx_msg void OnButtonVary();
    afx_msg void OnButtonDrawConstROI();
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
private:
    CWinThread* testthread;
    void DrawConstROI(bool dialog);
    int m_iAction;
    bool DelCtrFrmFileNm(CString *name);
    CString m_sPath; // Speicherpfad
    CString m_sFileName; // Dateiname
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.

#endif // !defined(AFX_SYNCAMDOC_H__3179821A_575F_45E1_A8A3_FB3CE7E3B93B__INCLUDED_)

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
21.06.2005, 16:52 Uhr
Tommix



Dachtichsmirdoch:

C++:
...
// Implementierung
public:
    static UINT ThreadFunc(LPVOID pParam); // << statisch!!
    void RecallLastFunktion();
...



- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
21.06.2005, 17:01 Uhr
Wiesenlieger



hmmmm,
ganz genau so hab ichs inzwischen auch noch mal probiert, aber immer noch der gleiche Fehler!

auf: www.mpdvc.de/html.htm#Q18
hab ich etwas ähnliches gefunden. werd aber nicht recht schlau draus.
da heißt es, es funktioniere nicht, weil nicht klar ist, welche Instanz aufzurufen ist.
kannst du mehr daraus lesen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
21.06.2005, 17:07 Uhr
Tommix



Ich lese vor allem daraus, daß man das Problem mit static löst. Dadurch hat man die Funktion ja gerade von der Instanz losgelöst. Bist Du sicher, das Du alles so gemacht hast (auch in der richtigen Datei)?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
21.06.2005, 17:22 Uhr
Wiesenlieger



jupp,
exact so.

hab das ganze jetzt mal in einer einfachen Dialog-Anwendung probiert
-> da gehts, nur zur MessageBox sagt der Compiler: "'CWnd::MessageBoxA' : Unzulaessiger Aufruf einer nichtstatischen Member-Funktion"

jetzt bin ich ganz verwirrt, wieso geht das nicht in einer MDI-Anwendung?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
21.06.2005, 17:35 Uhr
Wiesenlieger



hahaha,

habs gefunden!
hab das static vor die falsche Methode gesetzt.

Wieder einmal ein Beweis dafür, dass die meisten Probleme zwischen Bildschirm und Stuhllehene entstehen.

Danke Dir,
bis irgendwann mal wieder.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: