It's a bug in ipro.
I checked the code at the stack trace and found this:
function TIpHtmlInternalPanel.HtmlPanel: TIpHtmlCustomPanel;
begin
Result := TIpHtmlPanel(Parent);
while (Result.ClassType <> TIpHtmlPanel) do
Result := TIpHtmlPanel(Result.Parent);
end;
The exception gets thrown in the while line.
Now WHY they do it this way I do not know, but it means you get a real problem
if you derive a component from it.
I commented out the lines in the function like so:
function TIpHtmlInternalPanel.HtmlPanel: TIpHtmlCustomPanel;
begin
//Result := TIpHtmlPanel(Parent);
// while (Result.ClassType <> TIpHtmlPanel) do
// Result := TIpHtmlPanel(Result.Parent);
end;
And now my test program works as beautifully as you could wish.
>From the context I get the idea this is somehow used if you wish to embed two
htmlpanels inside one another, which doesn't affect me - but the method they
are using is NOT good because it causes crashes if you derive anything (which
changes the classtype of course).
So do I report a bug ? Or how does this get fixed ?
Ciao
A.J.
--
A.J. Venter
Chief Software Architect
OpenLab International
www.getopenlab.com
www.silentcoder.co.za
+27 82 726 5103
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives