Ver Mensaje Individual
  #2  
Antiguo 31-01-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Reputación: 22
ArdiIIa Va por buen camino
Talking

La verdad, me parece un poco lioso tener dos programa en diferentes sistemas y que además tengan que compartir cosas.
Bueno la cuestión es que si eres tu el creador y tienes acceso al código de los dos, yo primeramente habilitaría algún sistema para que compartieran los datos de la forma más asequible posible, y en este caso el problema tuyo es que los de VB residen en memoria. Si es imperativo que la cosa sea así te surgiría que trabajaras con la la memoria mapeada, o crear un fichero mapeado en memoria tal que así:

Código Delphi [-]
{Creamos el fichero de memoria}
FicheroM:=CreateFileMapping( $FFFFFFFF,
                               nil,
                               PAGE_READWRITE,
                               0,
                               SizeOf(Estructura),
                               'Fichero_Name');

 {Direccionamos nuestra estructura al fichero de memoria}
PReceptor:=MapViewOfFile(FicheroM,FILE_MAP_WRITE,0,0,0);



{Escribimos datos en el fichero de memoria}
Estructura^:=Handle;
Estructura^.IsLocal := False;


Con este código lo que haces es crear un fichero llamado Fichero_Name mapeado en memoria y en cual has insertado la información que tú desees.
Esta información puede ser cualquiera, en este caso deberías informar al otro programa Delphi donde y como puede encontrar la información.


El siguiente paso, sería desde el otro programa (Delphi) abrir el fichero mapeado y leer la información, y acceder a ella....

Código Delphi [-]
        {Miramos si existe el fichero}
        FicheroM:=OpenFileMapping(FILE_MAP_READ,False,'Fichero_Name');
        Estructura := MapViewOfFile(FicheroM,FILE_MAP_READ,0,0,0);

Evidentemente "Estructura" debe ser igual en ambos programas.

En fin, de este modo le has pasado información de un programa a otro.
Espero que te sirva...
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita