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