Marco, it doesn't work that way. Type helpers simply allow you to extend an existing type with new methods and/or properties. When you declare a type helper you extend all instances of said type given that:
A) You 'use' the unit declaring the type helper in some other unit. B) No other unit you're using also defines a type helper for that same type. Only one type helper per type allowed. As to what they are useful for, consider the following: type // IShellLink is define by Microsoft IShellLinkHelper = record helper for IShellLink public procedure Save(const Target, Description, Link: string); end; procedure IShellLinkHelper.Save(const Target, Description, Link: string); var P: IPersistsFile; begin SetPath(Target); SetDescription(Description); if Self is IPersistsFile then begin P := Self as IPersistsFile; P.Save(Link, True); end; end; ... CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, Link); Link.Save('C:\Program Files\Google\chrome.exe', 'Web Browser', C:\Users\me\Desktop\The Internet.lnk')
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal