library dll; 
uses 
SysUtils,Classes; 
{$R *.RES} 
function TestDll(a: string;t:Longint):Longint;stdcall; 
begin 
result:= Sqr(strtoint64(a) - t); 
end; 
exports 
TestDll; 
begin 
end. 
Private Declare Function TestDll Lib "dll.dll" (ByVal a As String, ByVal t As Long) As long Private Sub Command1_Click() 
Text3 = "34612795304820"'这个值是 5883264*5883264+11124得到的,所以不会出现其他的问题. 
msgbox TestDll(Text3.Text, 11124)'返回结果应该是 5883264  
End Sub 
现在的问题是返回的结果是负数或不是5883264 .我也试着吧
result:= Sqr(strtoint64(a) - t); 改成 result:= Sqr(strtoint64('34612795304820')- 11124) ; 返回的结果既然是 268435456.却不是 5883264  不知道问题出在那,那位高手帮我看下