Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
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;  // Dirección de memoria donde se aloja algo 
    Virtual_Men_Size : LongWord; // Longitud de memoria donde se aloja ese algo
    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;

/// y Así sucesivamente

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
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO

Última edición por ArdiIIa fecha: 31-01-2007 a las 22:02:13.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Delphi VS Visual Basic woody Debates 137 18-03-2008 14:54:00
Delphi Versus Visual Básic Manuel Noticias 16 06-11-2006 19:09:24
dll de Visual Basic en Delphi elpinjum Varios 4 16-10-2006 12:37:14
Delphi V/s Visual Basic lavtaro Varios 13 02-05-2006 14:30:47
Otra de Visual Basic a Delphi. torito Varios 2 03-06-2004 22:11:35


La franja horaria es GMT +2. Ahora son las 19:15:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi