This question might be asked several times among you. Well, the answer is quite simple:
<%
Response.Write( Server.Info() )
%>
Yes, correct. BUT...
The responded server information lists any plugins - but there's a small problem. Only the two C24 extensions are listed, none additional.
Okay, let's try to figure out if other plugins are active, too. First, we take a look at the current documentation at the official web site or anlyze a debug instance of Active FoxPro Pages. And actually there's an object called plugins. Should be obvious that this one might have more information about AFP extensions, or?
A deeper examination of this plugin object brings a property named aPlugins[1] to daylight. If AFP is running without any plugins, then on one hand you should ask yourself if this article is the right one - *g* - or on the other hand this property might not exist.
Alright, what about our opportunities to use this? - Microsoft Visual FoxPro provides an amount of array handling functions and methods. And with these we are able to create our own HTML output:
<%
lnCount = ALen(Plugins.aPlugins,1)
For lnIndex = 1 To m.lnCount
Response.Write( Plugins.aPlugins[m.lnIndex].cId + [<br>] )
EndFor
%>
The property Plugin.cId contains the real name of an activated extension. As additional information it might be useful to check the property Plugin.cFullFilename.
Here's an output sample.
For any AFP programmer by heart the property .Class could be interesting to subclass and extend any existing AFP plugin. But in this case it would be more useful to contact the plugin's author and talk with her about your extension and/or changes to the existing one. This leads to a new plugin release and all AFP users profit.
Enjoy the AFP FAQ, JoKi