Ver Mensaje Individual
  #7  
Antiguo 26-02-2010
drkirocorp drkirocorp is offline
Registrado
 
Registrado: abr 2008
Posts: 8
Reputación: 0
drkirocorp Va por buen camino
String y PChar en DLL y Delphi

Hola, aunque el hilo ya es viejo, algunos colegas lo ven por primera vez o por centésima vez jeje, encontré este ejemplo en donde se puede obtener un string desde la dll sin tener errores extraños, por si le sirve a alguien, saludos

///En la DLL---------------------------

library MyDLL;
uses
SysUtils;

const
AString: string = 'Hello world!';

function ReturnsAString: PChar;
begin
GetMem( Result, length( AString ) +1 );
StrPCopy( Result, AString )
end;

procedure FreeString( s: PChar );
begin
FreeMem( s )
end;

exports
ReturnsAString,
FreeString;

begin
end.

//En Delphi--------------------------------

procedure Button1Click( Sender: Object ); // or whatever
var
s: string;
p: PChar;
begin
p := ReturnsAString; // get the DLL's memory
s := p; // get a copy into our string
FreeString( p ); // return the DLL's memory
ShowMessage( s )
end;
Responder Con Cita