Anterior
 Volver
 Siguiente

 
Asunto: RE: [CORBA-Comp] Invocación de métodos entre programas.
Fecha: Mon Jun 5 20:08:05 2000
De: "Emilio Hernández Martín" <inkyeto@teleline.es>

 
>>
>>>     ¿Es posible (en la LÍNEA CLAVE) invocar desde el programa B un
método
>>> del programa A? Si es así, ¿cómo se haría?
>
>Uy! que jaleo... (perdonad por las tildes, pero es que el pine...)
>
>En primer lugar:
>En el fichero B, si quieres utilizar cosas de A, debes incluir el fichero
>A.h (o algo similar)
>

    Ya me suponía que en C++ debería ser así.


>En la LINEA CLAVE no puedes utilizar la forma A::get_int() si get_int no
>es un metodo static de la clase "A". En todo caso, debes crear un objeto
>de la clase A, y aplicarle el metodo. Aunque esto es un poco extra~no,
>porque ninguna clase tiene manera de modificar su variable interna, por lo
>que su valor, tal y como muestras el codigo, sera NO DEFINIDO.
>
>Y por ultimo... te has encontrado este problema al programar con CORBA?
>

    A ver, te cuento.

    Es que estoy trabajando con una plataforma multiagente (te suena lo que
son los agentes, supongo) implementada en C++ con un montón de programas (la
mayoría archivos de cabecera que utilizan otros programas). Tengo que
introducir CORBA en la plataforma para posibilitar una nueva forma de
comunicación entre agentes a través del ORB, así como el uso del Naming
Service y del Trading Service para que un agente pueda obtener referencias
de otros agentes. Bien, esos cambios ya están hechos en la versión Java de
la misma plataforma (uno de los objetivos finales es que, gracias a CORBA,
se puedan comunicar agentes de las 2 plataformas) y me baso en ellos para
hacer los míos.

    Y en esa versión de Java se pueden invocar métodos de otras clases (creo
que del mismo paquete, pero no estoy muy seguro porque no controlo mucho de
Java) sin necesidad de crear objetos de las mismas, simplemente declarando,
como bien dices, esos métodos como 'static'. Así, desde una clase B se puede
llamar a un método 'static' de otra clase A con la sentencia "A.a_method()",
por ejemplo. Y quería saber si en C++ hay alguna forma de hacer algo
parecido. Es que no me aclaro muy bien con lo del 'static' y el 'extern',
etc. de C++.

    Lo de las variables internas creo que no es importante porque me parece
que no es el caso de mi problema, lo puse como un ejemplo.

    Muchas gracias de nuevo.

    Emilio.


--------------------------------------------------------------------------
Esta es la lista de discusión de CORBA y Componentes Software (corba-comp)
--------------------------------------------------------------------------
Suscripcion: Envie un correo a mailto:Majordomo@ditec.um.es?body=subscribe%20corba-comp
Eliminar su suscripcion: mailto:Majordomo@ditec.um.es?body=unsubscribe%20corba-comp
Informacion de la lista: mailto:Majordomo@ditec.um.es?body=info%20corba-comp
Problemas: mailto:corba-comp-owner@ditec.um.es
Indices de la lista: http://www.ditec.um.es/~dsevilla/corba/
--------------------------------------------------------------------------

 Anterior
 Volver
 Siguiente