Click here to Skip to main content
15,903,840 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionHow to stop flickering of controls in my Dialog window Pin
manoharbalu28-Feb-19 0:43
manoharbalu28-Feb-19 0:43 
AnswerRe: How to stop flickering of controls in my Dialog window Pin
Victor Nijegorodov28-Feb-19 1:02
Victor Nijegorodov28-Feb-19 1:02 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
manoharbalu28-Feb-19 1:56
manoharbalu28-Feb-19 1:56 
AnswerRe: How to stop flickering of controls in my Dialog window Pin
mo149228-Feb-19 3:01
mo149228-Feb-19 3:01 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
manoharbalu1-Mar-19 1:09
manoharbalu1-Mar-19 1:09 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
Victor Nijegorodov1-Mar-19 2:25
Victor Nijegorodov1-Mar-19 2:25 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
mo14921-Mar-19 3:18
mo14921-Mar-19 3:18 
GeneralRe: How to stop flickering of controls in my Dialog window Pin
mo14921-Mar-19 3:33
mo14921-Mar-19 3:33 
AnswerRe: How to stop flickering of controls in my Dialog window Pin
leon de boer1-Mar-19 6:48
leon de boer1-Mar-19 6:48 
QuestionDialog box margins Pin
Alexander Kindel21-Feb-19 0:24
Alexander Kindel21-Feb-19 0:24 
AnswerRe: Dialog box margins Pin
Richard MacCutchan21-Feb-19 1:04
mveRichard MacCutchan21-Feb-19 1:04 
AnswerRe: Dialog box margins Pin
mo149221-Feb-19 8:45
mo149221-Feb-19 8:45 
GeneralRe: Dialog box margins Pin
Alexander Kindel21-Feb-19 9:30
Alexander Kindel21-Feb-19 9:30 
GeneralRe: Dialog box margins Pin
mo149221-Feb-19 10:02
mo149221-Feb-19 10:02 
GeneralRe: Dialog box margins Pin
leon de boer22-Feb-19 6:05
leon de boer22-Feb-19 6:05 
GeneralRe: Dialog box margins Pin
mo149222-Feb-19 10:01
mo149222-Feb-19 10:01 
AnswerRe: Dialog box margins Pin
Maximilien22-Feb-19 4:23
Maximilien22-Feb-19 4:23 
GeneralRe: Dialog box margins Pin
leon de boer22-Feb-19 5:39
leon de boer22-Feb-19 5:39 
GeneralRe: Dialog box margins Pin
Maximilien23-Feb-19 1:49
Maximilien23-Feb-19 1:49 
GeneralRe: Dialog box margins Pin
leon de boer23-Feb-19 4:30
leon de boer23-Feb-19 4:30 
AnswerRe: Dialog box margins Pin
leon de boer22-Feb-19 5:37
leon de boer22-Feb-19 5:37 
GeneralRe: Dialog box margins Pin
Alexander Kindel22-Feb-19 9:04
Alexander Kindel22-Feb-19 9:04 
GeneralRe: Dialog box margins Pin
leon de boer22-Feb-19 10:00
leon de boer22-Feb-19 10:00 
SuggestionRe: Dialog box margins Pin
David Crow24-Feb-19 16:23
David Crow24-Feb-19 16:23 
QuestionTraceability of Dynamic Memory Allocation Faults Pin
HS_C_Student16-Feb-19 22:24
HS_C_Student16-Feb-19 22:24 
My problem is that as I write larger and more complicated (C) programs, errors in manual memory management become much harder to find and more catastrophic, particularly if caused by memory corruption.

I'd like to detect any DMA related errors as quickly as possible perhaps only when a debug flag is #defined.

I pass a pointer to a pointer to the create and destroy object functions. Create will fail if a pointer to non NULL memory is passed which prevents doubly allocating.

I am thinking of storing pointers to all allocated objects in a balanced BST, which would enable me to tell if a pointer is valid before free()in it. After Free() I can write NULL to prevent it's use and to prepare it for allocation again.

Any function that wants to check if an object pointer is valid can then call a check of the BST inventory.

Further I was thinking of tagging each entry with a scope of some sort so that I can check for missed Free() as soon as the object is no longer used:

StartScope(foobar)
CreateObj(data)
Do work;;;
FreeObj(data)
EndScope(foobar)

That way I can check at EndScope that all foobar scoped objects were freed.

This would enable me to make objects that were dynamically allocated have a stack based/automatic scope for example, if they are not going to be used after the function exits.

If using scopes for 'automatic' object allocation and nesting them in a stack, an error can be detected if a higher level scope is ended before a lower one.

These mechanisms are all intended to trigger errors as quickly as a problem can be detected and before it worsens. And furthermore to do so with the most minimal burden on the user.

I couldn't find a standard practice because garbage collection does not seem to be the same concept as detecting errors in memory management.

Is this good? Is there a better way of doing it / standard practice?

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.