Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Probleme bei Beispielthread von Flosoft

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 <
000
28.04.2003, 11:19 Uhr
~Michi
Gast


Hallo zusammen,
ich habe da ein Problem bei der Implementierung des Beispielthreads von FloSoft.

Dies hier ist die eigentliche Funktion:

UINT StartShow(LPVOID pParam)
{

CThreadDlg *m_dlg = (CThreadDlg *)pParam;
// 1.Problem: Das Programm erkennt "CThreadDlg " nicht;
// was muss ich hier noch einbinden

CTerminal1Dlg nTerminal;
nTerminal.bitmap();
return 0;
}


Jetzt wird die Funktion bitmap aufgerufen:

void CTerminal1Dlg::bitmap()
{
CString szFilename("D\frei\\dammAG\\res\\PH02074U.BMP");
HBITMAP hBmp = (HBITMAP)::LoadImage(NULL,szFilename, IMAGE_BITMAP,0,0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);

CBitmap bmp;
bmp.Attach(hBmp);

CWnd *pWnd;
CClientDC dc(this); /*hier stürzt das Programm ab*/
CDC bmDC;
bmDC.CreateCompatibleDC(&dc);
CBitmap *pOldbmp = bmDC.SelectObject(&bmp);

BITMAP bi;
bmp.GetBitmap(&bi);

dc.BitBlt(0,0,bi.bmWidth,bi.bmHeight,&bmDC,0,0,SRCCOPY);

bmDC.SelectObject(pOldbmp);

}


Beim Starten des Programms stürzt dieses bei "CClientDC dc(this)" ab.
Wenn ich den Code von Bitmap() direkt in StartShow() einfüge, dann kommte der Fehler: "In Golbaler Funktion dürfen keine this Zeiger verwendet werden";
Mögliches Problem:
Aufruf einer Memberfunktion (hier bitmap()) von einer globalen Funktion aus (hier StartShow()).
Wenn ich bitmap() mit einem "Buttonclick" starte, wird das Bitmap ganz normal ausgegeben.

Kann mir jemand helfen ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.04.2003, 11:44 Uhr
~christian
Gast


Hi!

Hast du denn die Headerdatei, die die CTerminal1Dlg Klasse definiert, in die Datei, wo die Funktion StartShow(..) drin ist, eingebunden?

Grüße, Christian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.04.2003, 11:57 Uhr
~Michi
Gast


Ja, die Funktion StartShow() steht ja in der CTerminal1Dlg.cpp und da ist die
CTerminal1Dlg.h ja von hausaus drin.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: