Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como acceder a codigo en C/C++ desde Delphi (https://www.clubdelphi.com/foros/showthread.php?t=43525)

mamcx 14-05-2007 06:06:20

Como acceder a codigo en C/C++ desde Delphi
 
Estoy interesado en proveer un servidor de backups de bases de datos, y por ahi me encontre con software con rsync y unison que son populares en linux.

Lo que tienen de gracia es que generan una lista de checksum de bloques de bytes (ej: Cada linea son 500 bytes...) como (con pesimo ejemplo de datos):

Archivo.txt (1 GB) -- En el cliente
1-50
2-30
3-10
4-20


Y en el servidor, tenemos


Archivo.txt (500 GB) -- En el servidor
1-50
2-20

Y a la hora de enviar a Archivo.txt, consultamos la lista de checksum en el servidor
, y sabemos que solo debemos enviar a:


Archivo.txt (500 GB) -- Enviando...
2-10
3-10
4-20

Lo que nos ahorra tiempo y lo mas importante, ancho de banda.

Ahora, sufri un ataque al corazon al ver que no hay ni un condenado ejemplo del algoritmo ni ninguno similar en Delphi (que pudiera encontrar). Pero me encontre una en python:

http://unix.freshmeat.net/projects/pysync/

Y me parecio tan facil de portar... hasta que me vi que necesitaba unos modulos en C/C++ (ni se como se diferencia. El lado oscuro de la fuerza solo me lo mostraron, brevemente, en la U).

Y ahora, me pregunto como rayos hace uno para usar ese codigo desde delphi...

P.D. Tambien se de librsync pero me quede mas blanqueado en como usar la libreria, y no me quedo claro si funcionaba en Windows. La implementacion en Python no sera muy optima pero al menos es clara...

mamcx 14-05-2007 06:10:05

P.D.2. No estoy interesado en correr rsync o unison en Windows. Eso es facil (osea, pa uno) sino en usar directamente el codigo...

roman 14-05-2007 07:41:37

Cita:

Empezado por mamcx
Y ahora, me pregunto como rayos hace uno para usar ese codigo desde delphi...

Seguro que no estoy entendiendo tu pregunta. ¿No pueden compilarse en Windows esas librerías en una dll?

// Saludos

mamcx 14-05-2007 17:49:55

Pues demas que si... pero una vez compilado, que se hace? La verdad es que estoy bien novato en el tema (tengo entendido que si la libreria es en C++ es mas dificil que si es en C?)

Ñuño Martínez 16-05-2007 11:42:53

Sí, si la librería está escrita en C++ es más difícil que si lo está en C. Una de las razones es la cabecera que añade a las funciones por la sobrecarga de funciones y eso.

Una vez que has creado la DLL debes crear una unidad de acceso a ella, al igual que se haría si la DLL la creas con Delphi. En la ayuda viene explicado cómo se hace. Eso sí, no te olvides de utilizar el modificador CDECL para decirle a Delphi que las funciones se han escrito en C y no en Pascal.


La franja horaria es GMT +2. Ahora son las 07:48:55.

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