>I created a very small program and put it as a COM object on our Windows200 Internet Server. When I do the CREATEOBJECT from an ASP page, I get:
>
>Microsoft VBScript runtime error '800a01ad'
>ActiveX component can't create object: 'NameSearch.MVVClass'
>
>The COM object consist of the following code:
>
>Define class MVVClass as session olepublic
>
> Procedure GetSoundex
> Parameters m.NameIn, m.xType , m.Key2Return
>
> * In WEB PAGE you would call it like this:
> * oVFPServer = createobject('servername.MVVClass')
> * cPhoneticStr = oVFPServer.GetSoundex(Name, Type, Key2Return)
>
> Declare INTEGER matcher IN ISTDLL32 ;
> STRING,STRING,STRING,STRING,;
> STRING,STRING,STRING,STRING
>
> m.NameIn = m.NameIn+space(256-len(m.NameIn))
> m.nameout =space(256)
> m.rulebase =space(250)
> m.pheonetic=space(250)
> m.keycount =space(2)
> m.keystack =space(300)
> m.rangetable=space(750)
>
> m.xi = matcher( @Service , @NameIn , @nameout , @rulebase , ;
> @pheonetic, @keycount , @keystack , @rangetable )
>
> Return substr(keystack, 10*Key2Return-9 ,10)
> Endproc
>
>Enddefine
Aside from you're passing a non-existant variable to matcher by ref (always good for a laugh - where is Service?) I'd drop all the 'm.' refs, and frankly, if this is the extent of the class, it'd be a lot smaller and just as simple creating this wrapper in another language - if nothing else, deploying this written in C becomes trivial.