我用DELPHI作的DLL测试文件library Dir;uses
  SysUtils,
  Classes, Windows ;{$R *.res}function RetInteger(v : Integer) : Integer ; stdcall ;
begin
  Result := V ;
end ;function RetPChar(v : PChar) : PChar ; stdcall ;
begin
  Result := v ;
end ;exports
   RetInteger ,
   RetPChar ;
begin
end.生成DLL文件后,复制到C:\WINDOWS下
执行
exec sp_addextendedproc 'RetInteger','Dir.dll' 
exec sp_addextendedproc 'RetPChar','Dir.dll' 
生成扩展存储过程DECLARE @RES INT
SET @RES = 10
PRINT  RetInteger @RES
PRINT @RES
打印出来后,并不是10,而是一个很大的数另外,测试传入字符串
DECLARE @RES varchar(100)
EXEC @RES = RetPChar 'abcd'
PRINT @RES返回的也是一个数值字符串。我现在感觉到,好像是传入参数时出错,我DLL用DELPHI作的,INTEGER是四个字节,SQL中INT也是四个字节,
各位,发表一下意见,帮我解决一下。