Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Neues Window innerhalb einer Funktion erzeugen!!!!!

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
30.06.2004, 17:48 Uhr
~BokonTaylay
Gast


Hola!

Ich habe folgendes Problem:

Innerhalb einer DLL benötige ich zum Anzeigen von Daten, die ich von der seriellen Schnittstelle gelesen habe, ein neues Window. Dazu habe ich eine Klasse übernommen, die von CFrameWnd abgeleitet ist. Im Konstruktor wird ein Zeiger auf ein Array und ein int übergeben.


C++:
CDataWnd::CDataWnd(BYTE * buffer, int length)
{
    itsLength = length;
    itsBuffer = buffer;
    Create(NULL, "Data", WS_VISIBLE|WS_OVERLAPPEDWINDOW, CRect(0,0,500,500));
    UpdateWindow();
}



Nun soll das Window innerhalb einer Funktion "Anzeigen" erzeugt werden und dann in der KlassenMethode OnPaint() beschrieben werden.

C++:

void ShowData(BYTE sBuffer[], int iLength, UINT iAdresse)

{
   /* Fenster erzeugen und Daten anzeigen */
   CFlashDataWnd *flashDataWnd = new CFlashDataWnd(sDataBuffer, iLength) ;

}

void CDataWnd::OnPaint()
{
    ......

    for (lPos = 0; lPos < itsLength; lPos++)
    {
       ...    
    dc.DrawText(sDataline, &rect ,DT_LEFT );
               ....    
    }





Danach soll die Funktion ShowData ()zurückkehren. Soweit funktioniert's ja, aber sobald ich dann irgendwas im Fenster mache (z.B. mit dem Cursor hineinfahren) bekomme ich eine Access Violation. Es verliert ja irgendwie die Gültigkeit, wenn die Funktion zurückkehrt. Was ich machen will, ist, dass man erst das Fenster schließen muss, damit die Funktion ShowData() zurückkehrt und dann sollte es ja keine Probleme mehr geben. Bzw. gibt es eine möglichkeit, dass das Fenster auch danach noch gültig ist?

Das Ganze läuft wie gesagt in einer DLL, die wiederum in einem Applikationsprogramm geladen wird, ist also nicht unbedingt einfach zu handlen.

Danke schon mal im voraus!


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.06.2004, 18:02 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



--
class God : public ChuckNorris { };

Dieser Post wurde am 30.06.2004 um 18:03 Uhr von FloSoft editiert.
 
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: