Usar Dll en VB6.0 desde C#

17/12/2003 - 17:33 por Xty | Informe spam
Hola a todos.
Mi problema es que desde un web service en c# debo llamar
una dll en VB6.0

con la siguiente instancia...

SEGCrypt.clsCryp cCrypto = new SEGCrypt.clsCryp();

se presenta error en la siguiente instrucion...
cCrypto.FlagTipo = true

(Property, indexer, or event 'FlagTipo' is not supported
by the language; try directly calling accessor
method 'SEGCrypt._clsCryp.set_FlagTipo(ref bool)'
)

Para corregir lo anterior utilicé ...
SEGCrypt._clsCryp.set_FlagTipo(true)

pero genera el mensaje de error...
(An object reference is required for the nonstatic field,
method, or property 'SEGCrypt._clsCryp.set_FlagTipo(ref
bool)'
)

Que me falta hacer? Es mi primer intento en c#.
Gracias por su ayuda
 

Leer las respuestas

#1 Sergio Acosta
18/12/2003 - 02:48 | Informe spam
Debería funcionar si usas la instancia cCrypto en vez del nombre de la clase
(el mensjae de error es ambiguo, pareciera que te indica que hagas la
llamada como si fuera un método estático, pero sólo está tratando de
indicarte que el método set_FlagTipo es miembro de la clase SEGCrypt).

Además, como el método recibe un bool por referencia, vas a tener que
declarar una variable.

bool b = true;
cCrypto.set_FlagTipo(ref b)

Si no quieres estar haciendo tantos ajustes te recomiendo que para usar DLLs
hechas en VB6 uses VisualBasic.NET en vez de C#. A mi me gusta mas C#, pero
VB.NET tiene mejor soporte para interop con COM en cuanto a facilidad de
sintáxis se refiere. La gran ventaja es que puedes integrar un assembly
hecho en VB.NET en una apliación de C#.


"Xty" wrote in message
news:066101c3c4bb$7db44340$
Hola a todos.
Mi problema es que desde un web service en c# debo llamar
una dll en VB6.0

con la siguiente instancia...

SEGCrypt.clsCryp cCrypto = new SEGCrypt.clsCryp();

se presenta error en la siguiente instrucion...
cCrypto.FlagTipo = true

(Property, indexer, or event 'FlagTipo' is not supported
by the language; try directly calling accessor
method 'SEGCrypt._clsCryp.set_FlagTipo(ref bool)'
)

Para corregir lo anterior utilicé ...
SEGCrypt._clsCryp.set_FlagTipo(true)

pero genera el mensaje de error...
(An object reference is required for the nonstatic field,
method, or property 'SEGCrypt._clsCryp.set_FlagTipo(ref
bool)'
)

Que me falta hacer? Es mi primer intento en c#.
Gracias por su ayuda

Preguntas similares