Re: Access Violation in WndProc after Freeing Dynamically created components--What am I missing?

2006-09-27 Thread Doug Chamberlin
At 03:42 AM 9/26/2006, Chuck Belanger wrote:
I found my own answer for this problem:

Glad you found it! 

___
Delphi mailing list - Delphi@elists.org
http://www.elists.org/mailman/listinfo/delphi


Re: Access Violation in WndProc after Freeing Dynamically created components--What am I missing?

2006-09-26 Thread Chuck Belanger
Hello,

I found my own answer for this problem:

After posting my question, I remembered a similar experience re: the WndProc
error. It involved the use of TJvPanel with TBitBtns.

Since I was using TJvPanel in the construction of my grid I tried converting
those to TPanel and sure enough the problem went away. Turns out to be an
issue for the Jedi people. On playing around with the grid, I found I could
keep the underlying panel as TJvPanel and merely change the overlaying smaller
panels to TPanels. I want to do this because TJvPanel allows for color changes
in an XP environment which I've not been able to do with TPanel.

Anyway thanks for indulging my confusion,

Chuck


___
Delphi mailing list - Delphi@elists.org
http://www.elists.org/mailman/listinfo/delphi


RE: Access Violation in WndProc after Freeing Dynamically created components--What am I missing?

2006-09-26 Thread zayin


If you are making the window/scroll box the owner you do not need to free
it. The owner will free it.



-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Chuck Belanger
Sent: Monday, September 25, 2006 6:36 PM
To: Delphi Listserve
Subject: Access Violation in WndProc after Freeing Dynamically created
components--What am I missing?

Hello:

I really could use some help with this issue, thanks.

I'm trying to make a grid-like series of short but wide panels, one on top
of the other in which are various labels, buttons, RTF editors and a
trackbar. It is populated from a dataset. More specifically, these are lists
of patient symptoms (1 panel to show the label)  with two editors for
symptom and evaluation details with a track bar for entering subjective
improvement in percent. All these symptom panels are in a scroll box.

I tried using a wwDBGrid but it just didn't give me what I want.

Anyway, my solution is to dynamically create the main panel (wide and short
on a Scroll Box) and then to that panel add 4 narrower panels (symptom
label, two RTF editor, and trackbar) across this wider panel.
All this works just fine, BTW. Where my BIG problem is, is that no matter
what I try I can't properly free the components when the form using them is
Closed.

Controls.pas; TWinControls.WndProc, someplace in the WndProc inherited,
throws a AV.

I've tried to use a set of arrays of TPanel, TLabel , etc.
I've tried using TComponentList, one list for each component on the main
panel, an ADD for each symptom/main panel added I've tried using an array of
TComponentList where each TComponentList is the group of all components for
each symptom-panel.

What I've observed is that everything works fine when I create the main
panel and add up to 3 of the sub-panels. It doesn't matter which is the
fourth panel I add (i.e. there nothing inheritly wrong with the sub-panels),
but adding the forth panel (it can be the first or last of the four required
panels) is when I get the AV after freeing everything and the form is
closing.

I've tried going ahead and adding other components, and although not
finished, so far everything is fine. There's something about addng the
fourth panel that causes problems.

Any suggestions or hints?

Thank you,

Chuck Belanger

___
Delphi mailing list - Delphi@elists.org
http://www.elists.org/mailman/listinfo/delphi

___
Delphi mailing list - Delphi@elists.org
http://www.elists.org/mailman/listinfo/delphi