Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » brauche dringend hilfe bei streamIn

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 ] [ 3 ]
000
13.05.2004, 13:11 Uhr
rene04



hi,

bekoome einen fehler beim öffnen einer datei. weiß aber nun echt beim besten willen nicht wieso. der code steht in meiner ...view.cpp (CRichEditView).


Code:

/************************************************
* Funktion : OnOpen()
* Öffnet eine Datei und zeigt sie an
*/
void CProzIntView::OnOpen()
{
    if(!sFileName.IsEmpty())
    {
        CFile file(sFileName, CFile::modeRead | CFile::typeBinary);
        EDITSTREAM stream;
        stream.dwCookie = (DWORD)&file;
        stream.pfnCallback = ReadFileCallBack;
        GetRichEditCtrl().StreamIn(SF_RTF, stream);
    }
}


/************************************************
* ReadFileCallBack : Stream zum Lesen
*/
DWORD CALLBACK ReadFileCallBack(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG FAR* pcb)
{
    CFile *pFile = (CFile*)dwCookie;
    try
    {
        pFile->Read(pbBuff, cb);
    }
    catch(CFileException* pEX)
    {
        pEX;
        *pcb = 0;
        return 0;
    };

    *pcb = cb;
    return 0;
}





die fehlermeldung (Assertion in.....) wird in der ersten funktion hier ausgelöst :


Code:
GetRichEditCtrl().StreamIn(SF_RTF, stream);



was mache ich falsch ??????????

bitte helft mir.

gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.05.2004, 19:34 Uhr
~mike
Gast


Hi!
Probier mal das ganze Sample
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cricheditctrl.3a3a.streamin.asp
Sollte dann gehen

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.05.2004, 09:41 Uhr
rene04



habs probiert. selber fehler !
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.05.2004, 10:46 Uhr
rene rosenberger



hilfe !

ich komm echt nicht weiter.
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.05.2004, 09:43 Uhr
rene rosenberger



also, dann will ich das nun mal abschliesen. der ganze code steht in meiner view klasse , das ist doch ok oder ? an was kann denn der fehlr liegen? kann doch net so schwer sein einen funktionierenden sdtream hinzubekommen ?
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
27.05.2004, 10:31 Uhr
~mike
Gast


Hi!
Der Code aus der MSDN funtzt zu 100%. Greif mal zum Debugger:
# Welchen Inhalt schreibst du? (Vielleicht ist ja alles leer)
# Treten wo Fehler auf?

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
27.05.2004, 11:16 Uhr
rene rosenberger



so, habe nun in meiner view.cpp :

Code:
/************************************************
* Funktion : OnOpen()
* Öffnet eine Datei und zeigt sie an
*/
void CProzIntView::OnOpen()
{
    if(!sFileName.IsEmpty())
    {
        CFile file(sFileName, CFile::modeRead | CFile::typeBinary);
        EDITSTREAM stream;
        stream.dwCookie = (DWORD)&file;
        stream.pfnCallback = ReadFileCallBack;
        GetRichEditCtrl().StreamIn(SF_RTF, stream);
    }
}



und auch in meiner view.cpp :

Code:
static DWORD CALLBACK
ReadFileCallBack(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
    CFile *pFile = (CFile*)dwCookie;
    pFile->Read(pbBuff, cb);

    return 0;
}



in meiner view.h steht unter public:

Code:
static DWORD CALLBACK ReadFileCallBack(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb);



nun habe ich die fehlermeldung :
unresolved xternal symbol "public:static unsigned long__sdtcall CProzIntView::ReadFileCallBackunsigned long, unsigned char *, long, long *)"............

funktionsüberladung ? aber wo ? ach man ich verzweifel an der sache dabei isses bestimmt ganz easy.

gruesse rene
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
27.05.2004, 11:33 Uhr
~mike
Gast


Hi!
Du kannst die Deklaration nicht in einer Klasse machen und anschließend in der cpp die ReadFileCallBack als nicht-Memberfunktion "annehmen".
Entweder du schreibst CProzIntView::ReadFileCallBack bei der Definition oder du läßt das ReadFileCallBack in der *.h weg

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
27.05.2004, 12:06 Uhr
rene rosenberger



nun habe ich das ReadFileCallBack aus der .h genommen und bekomme den fehler :

Code:
stream.pfnCallback = ReadFileCallBack;



'ReadFileCallBack' : undeclared identifier.
--
gruesse rene
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
27.05.2004, 12:09 Uhr
~mike
Gast


Hi!
Stell mal die *cpp und wenns geht die *,h mal online.
Du kannst auch http://193.171.122.120/~newbie benutzen

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ 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: