/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Visual C++ 6 og CInternetSession
Fra : Benny Friis


Dato : 27-07-01 10:04

Hej

Jeg PRØVER på at lave en ny klasse ud fra MFC klassen CInternetSession, da
jeg gerne vil bruge OnStatusCallBack og har prøvet mig frem med lidt
forskelligt (jeg er bestemt ikke ekspert i MFC). Koden kan ses nedenunder.
Når jeg kører programmet og trykker på knappen smider den en ASSERT failure
op i mit ansigt, der ser ud som følger:

Debug Assertion Failed!
File: inet.cpp
Line 646

Og når jeg kører en debug stopper den ved linien:
ASSERT(!m_bCallbackEnabled);

Jeg har også været ude for at den stopper ved denne linie:
ASSERT(m_bCallbackEnabled != NULL);

Der står vist i hjælpen at man skal sætte EnableStatusCallback(true) og det
har jeg også gjort, men hvad er der så galt??

Er der nogen her i gruppen som kan give et hint??


Class CMyInternetSession:
////////////////////////////////////////////////////////////////
#include "afxinet.h" // til CInternetSession
class CMyInternetSession : public CInternetSession
{
public:
CMyInternetSession( LPCTSTR pstrAgent = NULL,
DWORD dwContext = 1,
DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
LPCTSTR pstrProxyName = NULL,
LPCTSTR pstrProxyBypass = NULL,
DWORD dwFlags = INTERNET_FLAG_ASYNC );

protected:
virtual void OnStatusCallback( DWORD dwContext,
DWORD dwInternetStatus,
LPVOID lpvStatusInformation,
DWORD dwStatusInformationLength);
};

Implementation
////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "bff2.h"
#include "MyInternetSession.h"

CMyInternetSession::CMyInternetSession( LPCTSTR pstrAgent,
DWORD dwContext,
DWORD dwAccessType,
LPCTSTR pstrProxyName,
LPCTSTR pstrProxyBypass,
DWORD dwFlags)

{
try
{
EnableStatusCallback(true);
}
catch(CInternetException e)
{
e.ReportError();
}
}

void CMyInternetSession::OnStatusCallback(DWORD dwContext,
DWORD dwInternetStatus,
LPVOID lpvStatusInformation,
DWORD dwStatusInformationLength)
{
// Do someheting
}
////////////////////////////////////////////////////////////////////////////

Koden til knappen:

void CBff2Dlg::OnButton1()
{
CMyInternetSession myInternetSession;
myInternetSession.OpenURL("http://www.wol.dk");
}

men så går den ned når jeg trykker på knappen..(ASSERT failure)

Nogen ideer??
Hvis det er helt tåbeligt det jeg har lavet så ret mig venligt ind på rette
vej...på forhånd tak

--
Med venlig hilsen
Benny F.
bff@image.dk




 
 
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste