Chamar DLL pela rede

Delphi

27/08/2012

Fiz uma aplicação e uma DLL em delphi 7, a DLL tem a função de pegar o IP do PC e a aplicação chama a função da DLL p/ obter o IP da PC. A DLL ficará num PC da rede e a aplicação em outro PC, e aplicação localiza a DLL na rede e chama a função da DLL.
A aplicação até faz esse processo corretamente, exceto que, a aplicação localiza a DLL, faz a chamada da função que retorna o IP, mas a função da DLL, pega o IP do PC que está a aplicação, em vez de pegar o IP do PC que está a DLL. Alguém saberia como fazer para que a DLL retorne o IP do PC que está a DLL ??

Segue abaixo os códigos da DLL e aplicação:

DLL:

library BuscaIP;

function PegaIP: PAnsichar; Export; Stdcall;
var
ip : PAnsichar;
begin
try
Result := localizaip;

Except
Result := 'Erro de leitura!';
end;
end;

{$R *.res}

exports
PegaIP;

begin
end.

Aplicação:

implementation

{$R *.dfm}

Function TForm1.GetIPRede: PAnsichar;
var
DLLFunction: TDLLFunction;
DLLHandle: Cardinal;
Begin

Result := '';

DLLHandle := LoadLibrary( Pchar(\\CaminhoRede\C:\pasta\ + 'BuscaIP.dll') );

If ( DLLHandle = 0 ) Then Exit;

Try
@DLLFunction := GetProcAddress(DLLHandle, 'PegaIP');

If Assigned(DLLFunction) Then
Result := DLLFunction;

Finally
FreeLibrary(DLLHandle);
End;

End;

Grato.

Andrey

Andrey

Curtidas 0
POSTAR