<div dir="ltr">Hello,<div><br></div><div>I have this structure:</div><div><br></div><div><div>  generic TMyGeneric<T> = class</div><div>  end;</div><div><br></div><div>  TMyGenericClass = class of TMyGeneric;</div><div>

<br></div><div>  TMyType = class</div><div>  end;</div><div><br></div><div>  TMyClass1 = specialize TMyGeneric<TMyType>;</div><div><br></div><div>  TMyClass2 = class(specialize TMyGeneric<TMyType>)</div><div>
  end;</div>
<div><br></div><div>...</div><div><br></div><div><div>procedure RegisterItem(AItemClass: TMyGenericClass);</div><div>begin</div><div>end;</div></div><div><br></div><div>OK, but when I try:</div><div><br></div><div>RegisterItem(TMyClass1);<br>

</div><div><br></div><div>Return:</div><div><br></div><div><div>Incompatible type for arg no. 1: Got "Class Of TMyGeneric$TMyType", expected "TMyGenericClass".</div></div><div><br></div><div>Or:</div>
<div>
<br></div><div>RegisterItem(TMyClass2);<br></div><div><br></div><div>Return:</div><div><br></div><div><div>Incompatible type for arg no. 1: Got "Class Of TMyClass2", expected "TMyGenericClass"</div></div>

<div><br></div><div>So, which syntax to use generic and meta class?</div><div><br></div><div>Thank you!</div><div><br></div>-- <br>Silvio Clécio<br>My public projects - <a href="http://github.com/silvioprog" target="_blank">github.com/silvioprog</a>
</div></div>