|
Hi,
I have got DLL which contains an exported function of a class, and that function contains CStringArray reference as an argument, when i call that method through an application , then i get corrupted heap message. I debugged the code and found that in destructor of cstringarray on the execution of statemnet delete[] (BYTE*)m_pData; , m_pData was not pointing to a valid memory location, does any one know why it is happening.
Warm Regards,
Mushq
|
|
|
|
|
If you statically link CRT to your modules (exe and dll files), you can't delete memory that was allocated in another module.
|
|
|
|
|
Thanks for quick and useful reply, as i was using MFC as statically linked, and when i used the MFC as shared then it worked fine, but any reason for that behaviour?
|
|
|
|
|
HI
How to change background color and text color of VS2005 IDE editor.
-RisKhan-
|
|
|
|
|
Goto Tools > Options
In Options Dialog, Collapse 'Environment' u find fonts and colors.
|
|
|
|
|
Very Very thanks
-RisKhan-
|
|
|
|
|
Didja try tools->options?
Nobody can give you wiser advice than yourself. - Cicero
ப்ரம்மா
|
|
|
|
|
Hi all,
I've declared an object of type CTestLogger in my main function. Now I want that object to be accessed in one of the global function, which is defined in a header file. Please find the code snippet and Suggest me a solution if i'm wrong.!!
NB: I cant modify the parameters of the global function: Display_Printf()
=============================================================================
#include "Debug_Print.h"
void main()
{
CTestLogger bac;
Initialize_Logger(&bac);
Display_Printf();
DeInitialize_Logger();
bac.SetMessage("Message From Main");
Initialize_Logger(&bac);
Display_Printf();
Display_Printf("Custom Message From Main");
DeInitialize_Logger();
}
=============================================================================
#include <iostream.h>
#include <string.h>
class CTestLogger
{
char pTestMessage[1024];
public:
CTestLogger()
{
strcpy(pTestMessage, "Default Message");
cout << "Constructor" << endl;
}
void SetMessage(char *pMessage)
{
strcpy(pTestMessage, pMessage);
}
~CTestLogger()
{
cout << "Destructor" << endl;
}
void DisplayMessage()
{
cout << "Display Message :: " << pTestMessage << endl;
}
};
=============================================================================
#include <iostream.h>
#include "Custom_Header.h"
CTestLogger *g_pTestLogger = NULL;
// MUST BE CALLED before invking both the Display_Printf()
void Initialize_Logger(CTestLogger *pTestLogger)
{
g_pTestLogger = pTestLogger;
}
void Display_Printf()
{
if (g_pTestLogger)
g_pTestLogger->DisplayMessage();
else
cout << "Invalid CTestLogger Pointer" << endl;
}
void Display_Printf(char *pMessage)
{
if (g_pTestLogger)
{
g_pTestLogger->SetMessage(pMessage);
g_pTestLogger->DisplayMessage();
}
else
cout << "Invalid CTestLogger Pointer" << endl;
}
// MUST DEINITIALIZE IF Initialze_Logger is called.!!!!!!
void DeInitialize_Logger()
{
g_pTestLogger = NULL;
}
============================================================================
thanks in advance
Rajesh
|
|
|
|
|
Rajesh_Parameswaran wrote: I've declared an object of type CTestLogger in my main function. Now I want that object to be accessed in one of the global function...
No can do. bac is only accessible by main() .
Why did you supply such a large code (irrelavant) snippet?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
im making web browser with dialog box n im using threading too...but i can't call 2 threads simultaneously as thread functuin does not support UpdateData() like function ...so how can i do this ...
basically i want this thing that as i click on ON button then content of that web site come on my screen but i m not able to use noe tht dialog box to write anything in it as it working synchronously...i thought tht i can do it with trad but still im in samr position...plzzzzz help me
|
|
|
|
|
By keeping your post title precise.
Nobody can give you wiser advice than yourself. - Cicero
ப்ரம்மா
|
|
|
|
|
divya_eclairs wrote: asically i want this thing that as i click on ON button then content of that web site come on my screen but i m not able to use noe tht dialog box to write anything in it as it working synchronously...i thought tht i can do it with trad but still im in samr position...plzzzzz help me
it seems problem of synchronization objects.. isn't it
|
|
|
|
|
ya
i really need aswer how to this work asynchronously
|
|
|
|
|
divya_eclairs wrote: as thread functuin does not support UpdateData()
Why you stick on the UpdateData() function? You can use the ::SetDlgItemText() or ::SetWindowText() functions directly. I think that functions dont have the thread problems.
nave
|
|
|
|
|
i thnik ur not getting my prob i hav to take web sites in a dig box so i hav to use tht function but in threading i can't use tht function b/c tht is of socket class functinality
|
|
|
|
|
divya_eclairs wrote: i hav to take web sites in a dig box
you mean you want to take the URL from a dialog box?
nave
|
|
|
|
|
yessss ... n i want to do some writing also in edit box of tht dlg box, in which url content will come, while content of url will come...i.e. asynchnously get web in dlg box
|
|
|
|
|
And in the Other thread what all are available. I mean will you get the handle of the edit box or dialog?
1. If you have the handle of the edit box, you can directly use SetWindowText() and GetWindowText() functions
eg:
::SetWindowText( hEdit, "Some text to set" );
2. if you have the handle of the dialog, you can use SetDlgItem() function.
eg:
::SetDlgItemText( hDialog, IDC_EDIT_URL, "Some text to set" );
in the place of the IDC_EDIT_URL, specify the id of the edit control.
Do you have any pblm in using this. More over using UpdateData() function is not good. Now a days I do not create any value type variable for controls. . Cause i hate calling UpdateData() function.
nave
|
|
|
|
|
ok i will try this...but...if i will get then agn i will b here
|
|
|
|
|
agn same probs.....muze dig box me requested url ke content lane hai n jab tak content aa rahe hai tab tak muze dig bo ke edit box me, jisme contet aayenge, tab tak usme likhana hai....i think it can b done through thread if then how n if another approach then how? i m using thread...in 1 thread im calling the function in which im doing other work but i m not able to call the url functions...like UpdateData() n InternerSession calss function...how to do this plzzzz tell me...
|
|
|
|
|
Whats this all yaar?. Event though I am from India(Kerala) I couldn't understand the whole Hindi you wrote. I like to speak in hindi. But I coudn't grasp this. Better you write it in English.
nave
|
|
|
|
|
divya_eclairs wrote: ...so i hav to use tht function...
No, you don't. UpdateData() is so very misunderstood, and often abused as a result. Simply use SetWindowText() and GetWindowText() to interact with the controls.
Also, as you seem to be somewhat unfamiliar with multi-threading, I would suggest you read this and this before continuing. Multi-threading is not a beginner-level subject.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
ok i m understanding it but im not using updtedata() in writing data in edit box i m using this in getting url..got it....ya im a begginer but i really need it fast... im using server thread
|
|
|
|
|
divya_eclairs wrote: im using server thread
Which means what exactly? A thread is a thread, whether it is used on a client or a server.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
ok but how to use it im note to call some function of other class in thread funtion if u say then i can send my code...plzzzzzzz help me its really very very imp....
|
|
|
|