Click here to Skip to main content
15,920,801 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
Questionbest way to avoid calling virtual methods (directly or indirectly) from a constructor Pin
bob1697218-Jan-11 9:00
bob1697218-Jan-11 9:00 
AnswerRe: best way to avoid calling virtual methods (directly or indirectly) from a constructor Pin
Aescleal18-Jan-11 9:28
Aescleal18-Jan-11 9:28 
AnswerRe: best way to avoid calling virtual methods (directly or indirectly) from a constructor Pin
TheGreatAndPowerfulOz18-Jan-11 11:26
TheGreatAndPowerfulOz18-Jan-11 11:26 
AnswerRe: best way to avoid calling virtual methods (directly or indirectly) from a constructor Pin
Emilio Garavaglia18-Jan-11 22:37
Emilio Garavaglia18-Jan-11 22:37 
GeneralRe: best way to avoid calling virtual methods (directly or indirectly) from a constructor Pin
bob1697219-Jan-11 3:39
bob1697219-Jan-11 3:39 
QuestionBluetooth - COM port reading Pin
tnt00017-Jan-11 21:48
tnt00017-Jan-11 21:48 
AnswerRe: Bluetooth - COM port reading Pin
CPallini17-Jan-11 21:55
mveCPallini17-Jan-11 21:55 
AnswerRe: Bluetooth - COM port reading Pin
Andrew Brock17-Jan-11 22:31
Andrew Brock17-Jan-11 22:31 
GeneralRe: Bluetooth - COM port reading Pin
tnt00017-Jan-11 23:48
tnt00017-Jan-11 23:48 
GeneralRe: Bluetooth - COM port reading Pin
Andrew Brock18-Jan-11 0:40
Andrew Brock18-Jan-11 0:40 
GeneralRe: Bluetooth - COM port reading Pin
tnt00018-Jan-11 2:43
tnt00018-Jan-11 2:43 
GeneralRe: Bluetooth - COM port reading Pin
Andrew Brock18-Jan-11 3:40
Andrew Brock18-Jan-11 3:40 
GeneralRe: Bluetooth - COM port reading Pin
tnt00018-Jan-11 5:27
tnt00018-Jan-11 5:27 
GeneralRe: Bluetooth - COM port reading Pin
Andrew Brock18-Jan-11 14:07
Andrew Brock18-Jan-11 14:07 
QuestionDifference between _stat() and _fstat() Pin
gomathylakshmanan17-Jan-11 19:47
gomathylakshmanan17-Jan-11 19:47 
AnswerRe: Difference between _stat() and _fstat() Pin
Andrew Brock17-Jan-11 19:53
Andrew Brock17-Jan-11 19:53 
QuestionCTypedPtrArray & CStringArray Pin
mesajflaviu17-Jan-11 9:10
mesajflaviu17-Jan-11 9:10 
AnswerRe: CTypedPtrArray & CStringArray Pin
Chris Meech17-Jan-11 10:01
Chris Meech17-Jan-11 10:01 
GeneralRe: CTypedPtrArray & CStringArray Pin
mesajflaviu17-Jan-11 19:06
mesajflaviu17-Jan-11 19:06 
AnswerRe: CTypedPtrArray & CStringArray Pin
Andrew Brock17-Jan-11 16:04
Andrew Brock17-Jan-11 16:04 
Firstly, make sure you are dumping the memory leaks correctly. There are a number of ways to do this, but the best is by adding
#if defined(DEBUG) || defined(_DEBUG)
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
#endif

as early in your code as possible, in your case it will be the constructor of your App object BOOL CxxxApp::CxxxApp()
This is the only way will dump the memory leaks after all static objects have been destroyed. All other ways that I know of will give misleading results if you have static objects

If no destructor is provided for your class 1 is generated which calls the destructors of all member classes, otherwise the destructors of all member classes is called after your destructor code.
In destructors you only need to delete memory allocated by new, malloc or the likes.

Either way, your code is calling the destructors to m_saTable and m_saTables and these destructors will free any memory associated with it.

Having said that, your CTableArray is storing pointers, which means that the destructor for the table will only free the pointers, and not the actual data.
You will need to enumerate each item and free its memory manually. CMyDoc::OnCloseDocument() would be a good place to do this.
INT_PTR nElements = m_saTables.GetCount();
for (int nIndex = 0; nIndex < nElements; ++nIndex) {
	delete m_saTables.GetAt(nIndex); //assuming the elements inserted were created with "new CStringArray"
}

GeneralRe: CTypedPtrArray & CStringArray Pin
mesajflaviu17-Jan-11 19:38
mesajflaviu17-Jan-11 19:38 
GeneralRe: CTypedPtrArray & CStringArray Pin
Andrew Brock17-Jan-11 19:51
Andrew Brock17-Jan-11 19:51 
AnswerRe: CTypedPtrArray & CStringArray Pin
mesajflaviu17-Jan-11 22:11
mesajflaviu17-Jan-11 22:11 
GeneralRe: CTypedPtrArray & CStringArray Pin
Andrew Brock17-Jan-11 22:36
Andrew Brock17-Jan-11 22:36 
GeneralRe: CTypedPtrArray & CStringArray Pin
mesajflaviu18-Jan-11 1:47
mesajflaviu18-Jan-11 1:47 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.