PDA

Ver la Versión Completa : Ayuda con Funcion dentro de DLL


n03l
28-12-2011, 17:57:55
saludos...
Estoy creando una DLL y e seguido como explica la siguiente web
http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=261
y todo bien

El problema que tengo esq quiero crear una funcion que devuelva un resultado string almacenado en la DLL y e creado la siguiente funcion en la DLL


function serial() : String; stdcall;
var ClaveP: String;
begin
ClaveP:='MiClave123';
Result:=clavep;
end;




luego cuando intento llamar la funcion desde delphi asi
Edit1.Text:=serial;


me dice [Error] Unit1.pas(90): Not enough actual parameters

y si lo pongo asi
Edit1.Text:=serial('');


me dice [Error] Unit1.pas(90): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'

o tambien podria ser que yo almacene una variable string en la dll y la lea desde delphi
saludos a todos y espero una ayudita....

n03l
28-12-2011, 18:02:41
use las etiquetas delphi y en vista previa apercia bien el codigo, no entiendo xq me aperece asi

Neftali [Germán.Estévez]
29-12-2011, 12:32:27
Corregido el tema de las etiquetas.

Chris
29-12-2011, 20:09:37
Hola!

Lo primero: No debes utilizar el tipo String para intercambiar información entre DLL's y programas externos. En su lugar utiliza PChar. Por otro lado, quita los paréntesis luego de la delcaración del nombre de la función. Por último, en lugar de pasar una cadena vacía como parámetro a la función, mejor utiliza cero o nil.

Saludos,
Chris