<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 2015-08-20 08:06, Sven Barth wrote:<br>
</div>
<blockquote
cite="mid:CAFMUeB9oGLfhLcVc=aidY52bEyM0s6wq0HO+9ygyHmZGyLS3+g@mail.gmail.com"
type="cite">
<p>Am 20.08.2015 03:42 schrieb "Fabio Luis Girardi" <<a
moz-do-not-send="true" href="mailto:fluisgirardi@gmail.com"><a class="moz-txt-link-abbreviated" href="mailto:fluisgirardi@gmail.com">fluisgirardi@gmail.com</a></a>>:<br>
> Currently, I'm doing a small program that uses libraries,
objects and the operator IS, that is know that this operator
fails because of duplication of VMT. </p>
<p>And /that/ is one of the reasons why dynamic packages were
invented...</p>
<p>><br>
> Everyone know some alternative (or more elegant) method to
test if a object created on a library is a class descendant
without use object.ClassName? Or in case of use String to check
the class name, how retrieve the class name of all descendant
classes from a object?<br>
></p>
<p>Nope, there is no more elegant way. And you'll probably need to
walk the class tree using ParentClass and retrieve each name.</p>
<p>Note: an except-handler will suffer from the same problem if it
needs to catch an exception that was raised from the library (or
the other way round).<br>
You are going to a extreme fragile direction there.</p>
</blockquote>
What about TObject.InheritsFrom(aclass : tclass) - Is that not the
equivalent of the *IS* operator<br>
<br>
-Torsten.<br>
</body>
</html>