Hola amigos del foro, tengo problemas al poder trabajar con funciones de otra Dll, tengo esta aplicacion de prueba donde esta funcion "funcReemp" la extraigo de la Dll DataDll.dll, al momento de hacer funcionar mi aplicacion y utilizo la funcion me sale este error "Invalid Pointer operation". Estoy colocando el codigo de mi aplicacion y de mi Dll por favor espero puedan ayudarme. Un saludo
codigo de la aplicacion:
Código Delphi
[-]
unit prueba; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; procedure
Button1Click(Sender: TObject); private public end; var Form1: TForm1;
implementation {$R *.dfm}
function funcReemp (cad: String): String; external 'DataDll.dll';
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := funcReemp('121.12');
end;
codigo Dll:
Código Delphi
[-]
library DataDll; uses SysUtils, Classes, Forms, ADODB, Grids, StdCtrls, Dialogs, Controls, Windows, RpCon, RpConDS, RpDefine, RpRave, RpBase, RpSystem, ImgList, StdActns, ActnList, AppEvnts, ExtCtrls, Messages, Menus, RpRender, RpRenderPDF, Math, Graphics, XPStyleActnCtrls, ActnMan, StrUtils; {$R *.res} type TMatriz = Array [0..100, 0..100]of String;
function funcReemp (cad: String): String;
var aux: Integer;
begin
cad:= FloatToStr (RoundTo (StrToFloat (cad), -2));
aux:= PosEx (',', cad, 1); if aux <> 0 then
funcReemp:= StuffString (cad, aux, 1, '.')
else
funcReemp := '0'; end; exports funcReemp;
end.