Error: no data exchange control with ID 0x03F4. what does it mean?
I add a button in my dialog,
Some error occurs:
debug report:
Error: no data exchange control with ID 0x03F4.
The thread 0x850 has exited with code 3 (0x3).
Detected memory leaks!
Dumping objects ->
strcore.cpp(118) : {601} normal block at 0x003D6D80, 45 bytes long.
Data: < Aria> 01 00 00 00 05 00 00 00 20 00 00 00 41 72 69 61
{600} normal block at 0x003D69A8, 16 bytes long.
Data: < > FF FF FF FF CD CD CD CD CD CD CD CD CD CD CD CD
plex.cpp(31) : {426} normal block at 0x003D6A98, 164 bytes long.
Data: < M_> 00 00 00 00 00 00 00 00 00 00 00 00 14 0B 4D 5F
map_sp.cpp(74) : {425} normal block at 0x003D6A10, 68 bytes long.
Data: < j= > 9C 6A 3D 00 00 00 00 00 00 00 00 00 00 00 00 00
plex.cpp(31) : {393} normal block at 0x003D68C0, 164 bytes long.
Data: < M_> 00 00 00 00 00 00 00 00 00 00 00 00 14 0B 4D 5F
map_sp.cpp(74) : {392} normal block at 0x003D6838, 68 bytes long.
Data: < h= > C4 68 3D 00 00 00 00 00 00 00 00 00 00 00 00 00
plex.cpp(31) : {300} normal block at 0x003D62A0, 164 bytes long.
Data: < M_> 00 00 00 00 00 00 00 00 00 00 00 00 14 0B 4D 5F
map_sp.cpp(74) : {299} normal block at 0x003D5F60, 68 bytes long.
Data: < b= > A4 62 3D 00 00 00 00 00 00 00 00 00 00 00 00 00
plex.cpp(31) : {267} normal block at 0x003D6150, 164 bytes long.
Data: < M_> 00 00 00 00 00 00 00 00 00 00 00 00 14 0B 4D 5F
map_sp.cpp(74) : {266} normal block at 0x003D60C8, 68 bytes long.
Data: <Ta= > 54 61 3D 00 00 00 00 00 00 00 00 00 00 00 00 00
plex.cpp(31) : {234} normal block at 0x003D5750, 164 bytes long.
Data: < M_> 00 00 00 00 00 00 00 00 00 00 00 00 14 0B 4D 5F
map_sp.cpp(74) : {233} normal block at 0x003D56C8, 68 bytes long.
Data: <TW= > 54 57 3D 00 00 00 00 00 00 00 00 00 00 00 00 00
plex.cpp(31) : {187} normal block at 0x003D5CD8, 164 bytes long.
Data: < M_> 00 00 00 00 00 00 00 00 00 00 00 00 14 0B 4D 5F
map_sp.cpp(74) : {186} normal block at 0x003D5C50, 68 bytes long.
Data: < \= > DC 5C 3D 00 00 00 00 00 00 00 00 00 00 00 00 00
plex.cpp(31) : {153} normal block at 0x003D5A48, 164 bytes long.
Data: < M_> 00 00 00 00 00 00 00 00 00 00 00 00 14 0B 4D 5F
map_sp.cpp(74) : {152} normal block at 0x003D59C0, 68 bytes long.
Data: <LZ= > 4C 5A 3D 00 00 00 00 00 00 00 00 00 00 00 00 00
plex.cpp(31) : {95} normal block at 0x003D4EA0, 124 bytes long.
Data: < N= > 00 00 00 00 B0 4E 3D 00 00 00 00 00 10 F7 12 00
strcore.cpp(118) : {71} normal block at 0x003D4D38, 57 bytes long.
Data: < , , D:\U> 01 00 00 00 2C 00 00 00 2C 00 00 00 44 3A 5C 55
strcore.cpp(118) : {70} normal block at 0x003D4E28, 46 bytes long.
Data: < ! ! D:\U> 01 00 00 00 21 00 00 00 21 00 00 00 44 3A 5C 55
strcore.cpp(118) : {63} normal block at 0x003D4B80, 29 bytes long.
Data: < Helv> 01 00 00 00 10 00 00 00 10 00 00 00 48 65 6C 76
Object dump complete.
The thread 0x994 has exited with code 3 (0x3).
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
Did you only add a member variable for the button, or did you also add the control to the DoDataExchange function?
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
Have you added some control a member variable and then just deleted the control from dialog ??
If you want to delete the control, then you should first delete the member variable.
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
Now I delete the control and the member variable,
then add a new control again and member variable,
it has the same problem also,
why?
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
Can you attach your project here ?
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
Sorry, I can't.
but can you tell me your idea?
what's the problem most possible?
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
And those leaks are terrific, please clear them.
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
You need to find out where the memory is leaked, BTW is that report when your program abnormally stopped (crashed) ?? Or is it when you closed it properly ?
Also can you post the code of your dialog's cpp file esp. the code of message map ( look for BEGIN_MESSAGE_MAP, END_MESSAGE_MAP), and the DDX function (look for DoDataExchange).
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
Quote:
Originally Posted by InternationScape
How to clear?
Try using std::auto_ptr instead of pointers when you want the memory reclaimed when you go out of scope.
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
void CExit::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CExit)
DDX_Control(pDX, IDC_FINISH, m_Exit);
DDX_Control(pDX, IDC_BKGRD, m_background);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CExit, CNewWizPage)
//{{AFX_MSG_MAP(CExit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
Quote:
Originally Posted by InternationScape
void CExit::DoDataExchange(CDataExchange*
pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CExit)
DDX_Control(pDX, IDC_FINISH, m_Exit);
DDX_Control(pDX, IDC_BKGRD, m_background);
//}}AFX_DATA_MAP
}
Do the m_Exit & m_background controls present on dialog ?
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
No,
the dialog can't be created.
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
Quote:
Originally Posted by InternationScape
No,
the dialog can't be created.
You mean no control attched to the m_background & m_Exit variables ??
If yes, then you should comment out the calls to DDX_Control as,
Code:
CDialog:DoDataExchange(pDX);
//{{AFX_DATA_MAP(CExit)
//DDX_Control(pDX, IDC_FINISH, m_Exit); // comment out
//DDX_Control(pDX, IDC_BKGRD, m_background);// comment out
//}}AFX_DATA_MAP
}
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
No, this dialog will be as a page of a wizard,
when create this dialog,
the program crashes, why?
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
I am afraid I can't do much unless I see the actual code, otherwise it will just be posting on posting and nothing will be solved. :(
Re: Error: no data exchange control with ID 0x03F4. what does it mean?
There are several reasons for dialog data exchange to fail. So far your answers did not provide enough information to draw any intelligent conclusion.
One of the most common errors is to add and delete variable without deleting entries in DoDataExchange. That is true if entries were created by the wizard.
Another common mistake is to create DDX calls for the control that is not a child window of the window where DDX is used.
Third: you insert member variable of the window type and create control by explicitly calling Create member.