This problem probably seem dull to many, but in my case it's important to get through in one way or another - it has to do with obtaining an HWND pointer to a control in order to enable use of FindControl(Handle: HWND). To explain this, let's look at what I'm trying to do... I'm writing a script engine component in Delphi 5, and this script engine has built-in commands (or opcodes) that activates creation or freeing of dynamically created controls. The engine component is supposed to be placed on only one form and be able to create controls for any and all other forms in the application, as well as define the new controls' Parent property accordingly. This seems utterly awkward because TApplication does not present any list of the forms that it owns, only an array of components that expose a very limited range of properties. If TApplication had a unit list which exposed name labels and handles, it could have been possible to do some out-of-scope referencing. I know this all seems pretty odd, but I hope someone out there can reply with something that can solve my problem. Any and all hard-coding by the script engine component user should be avoided, and as such the component should incorporate its own ways of getting stuff done. ...And one more thing - if anyone knows how to dynamically read/write variables or properties across units, I'd be happy for answers. Thanks. -Steinar Skaalvik