Ver Mensaje Individual
  #1  
Antiguo 30-07-2006
HAL9000 HAL9000 is offline
Registrado
 
Registrado: jul 2006
Posts: 2
Reputación: 0
HAL9000 Va por buen camino
ayuda con shortstring de Delphi en C++

Hola a todos:

Soy nuevo en el foro y he ingresado exclusivamente para preguntar una duda.
Vereis, no soy programador de Delphi ni de Pascal (Aunque si de Modula2...) y necesito usar una "dll" escrita en Delphi en un programa en C++.

El caso es que en la "dll" se hace uso del tipo shortstring y no consigo ni bien ni mal hacer que que mis cadenas de C++ funcionen como shortstring.

Se que el Borland C++ Builder da soporte directo para este tipo de cadenas, pero yo estoy empleando MS Visual studio 2005.

¿Alguien puede ayudarme a definir un tipo shortstring en C++?
Hasta ahora se que el shortstring es una cadena de 256 caracteres y que en el primero se almacena la longitud de la cadena. Lo que no sé es si termina en cero (imagino que no) y como están rellenos el resto de caracteres de la cadena (imagino que son nulos).

El caso es que he probado ambas combinaciones y no consigo hacer que funcione.

Si alguien programa en C++ adjunto el código de mi programa (casca la función setBSCpath() ):

Código:
 
char ruta[256];
ruta[0]=3;
ruta[1]='C';
ruta[2]=':';
ruta[3]='\\';
micatalogo.SetBSCpath(ruta);

y también adjunto la especificacion e implementación de la función de la "dll" en Delphi:

Código:
 
procedure SetBSCpath(path : shortstring); stdcall;

Código:
 
procedure SetBSCpath(path : shortstring);
var i : integer;
begin
if path<>Bscpath then for i:=1 to CacheNum do cachelst[i]:=0;
BSCpath:=path;
end;

Un saludo a todos y muchas gracias a los respondones.
Responder Con Cita