Hi Einar,
>I have been asked if VFP can act as a plugin using CATID. I found that CATID is a CategoryId and that to COM, a category is just a GUID — but a GUID that identifies a category is called a CATID, the same way a GUID that identifies a class is called a CLSID. But is this something that can be used to implement a VFP program as a plugin?
categories for automation objects can tell you, if the component you're looking at has a certain interface implemented. This way you don't have to load the component to see, if it implements the interface you need. Examples for categories are: "Automation Objects", "Controls", "Java Classes", "Internet Explorer Browser Bands", etc. Regarding the last example, IE simply could have a look in this category and offer you a choice between different bands. If your component should be something IE can use, you'll have to implement the interface that's needed and register your class with this category.
By default, VFP registers it's MT DLLs only in one category: "Automation Objects". If you can provide the interface you need with a VFP DLL, the only thing you'll have to do is to put a new entry in the registry and you're done. But you'll have to know more details about what the other application expects.
Hope this helps you,
Armin