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

Reply via email to