Yo de basic, (mi primer lenguaje en aquellos años del MSX) estoy oxidado y de VB nada de nada.
De todas formas, el planteamiento es sencillo:
Piensa en que forma manejas tus datos desde VB, son arrays, estructuras o registros... En fin sea lo que sea supongo que tendrán algún formato...
En ese caso deberías confeccionarte un registro para poder informar al otro programa:
En delphi es tal como esto:
Código Delphi
[-]
PDatitoss = ^TDatitos;
TDatidos = packed record
Dato_1 : Cardinal;
Dato_2 : Cardinal;
Dato_Main : Cardinal;
Virtual_Mem_Adr : Pointer; Virtual_Men_Size : LongWord; Etc_1 : Boolean;
end;
En tu caso, deberías pasarle a tu segundo programa, por ejemplo y siempre dependiendo de tu estructura, la dirección de donde se encuentran esos datos y la longitud de los mismos. Teniendo esto claro, ya podrías manejar con el otro programa esos datos, accediendo a esa dirección primeramente y segundo dándole la estructura requerida, y siempre considerando la longitud de los datos para no cometer ninguna falta y que te saquen tarjeta roja...
Este ejemplo que te pongo aquí has de modelarlo a tu albedrío y es el registro que debería utilizar con lo que te dije antes....
Abundando mas en el tema....
Código Delphi
[-]
FicheroM : THandle;
Datos : PDatidos;
FicheroM:=CreateFileMapping( $FFFFFFFF,
nil,
PAGE_READWRITE,
0,
SizeOf(Estructura),
'Fichero_Name');
Datos^.Dato_1 := xxxxx;
Datos^.Dato_2l := xxxx_Handle;
Datos^.Virtual_Mem_Adr := xxx;
Datos^.Virtual_Men_Size := xxx;
Desde ese momento la otra aplicación ya tiene disponible sus datos accediendo a ello tal como te dije anteriormente.
Te vuevo a repetir que en gran medida todo es en baje a los datos que majenes, desde una sible variable, a la que deberías obtener su dirección en memoria y su longitud, hasta una compleja estructura de registros y en ese caso aún lo podrías complicar más quizás reservando un espacio de memoria concreto para ellas mediante otras funciones tales como
VirtualAllocEx
En fin, todo es organizarse y ponerse manos a la obra. Sobre las funciones que te comento, tienes extensa y detallada información así como ejemplos en cualquier sitio.
Espero haberte sido de ayuda. De todas formas que tiene VB que no tenga DELPHI. Si tienes el código de ambos programas mi sugerencia final es que reconviertas lo de VB a Delphi y seguro que saldrás ganando.
Saludos