logarytm z DLL

0

Witam,
powiedzcie mi, dlaczego funkcja LOG10 z modułu MATH wywołana z biblioteki DLL zwraca wartość ujemną a ta sama funkcja nie z biblioteki zwraca wartość dodatnią?
np z DLL: LOG10(1000/1.4) = -0.8
a z kodu programu to samo wynosi 0.8 ??

0

wypadało by jakiś kod podać...

0

Funkcja Logarytm to tylko przykład - używany w innej funkcji...

uses {... } Math;
procedure TForm1.Button1Click(Sender: TObject);

var
DLL : THandle;
c : double;
pojemnosc : Function(bsr:double;r:double) : double;
Begin
DLL := LoadLibrary('Pojemnosc_c.dll');
@pojemnosc:=GetProcAddress(DLL, 'Pojemnosc');
c:=Pojemnosc(1000,1.45);
ShowMessage(FloatToStrf(c,ffnumber,100,5));
ShowMessage(FloatToStrF(LOG10(1000/1.45) ,ffnumber,100,5);
End;

Kod z DLL:

Function logarytm(bsr:double; r:double) : double; STDCALL;
Begin
result:=LOG10(bsr/r); //na przykład tylko obliczenie samego logarytmu
End;

exports
logarytm;

0

var
DLL : THandle;
c : double;
pojemnosc : Function(bsr:double;r:double) : double; stdcall;

0

Ahacózdziała, wybaczcie zabrany czas ale dopiero się uczę ;)
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1