请问为什么下面的代码在普通应用程序中和Web ISAPI应用程序中会有不同的结果(200分)

  • 主题发起人 主题发起人 DanielLiu
  • 开始时间 开始时间
D

DanielLiu

Unregistered / Unconfirmed
GUEST, unregistred user!
usr:=PChar(Request.QueryFields.Values['username']);
pwd:=PChar(trim(Request.QueryFields.Values['password']),' ','+',[rfReplaceAll]);
ret:=CValidatePassword(@usr,@pwd);

CValidatePassword的声明如下:
function CValidatePassword(sUser, sPassword: PPChar): Smallint
far
stdcall;external 'NHPEIP.DLL'

其中PPChar=^PChar;

是引用的NHPEIP.dll这个普通Dll中的函数,是用来判断密码正确性的


在应用程序方式下可以正确返回结果,但在Web ISAPI应用程序方式下,总是返回密码错误,即使密码是正确的
请问是不是Delphi中传字符串参数有什么玄机阿?请各位看官不吝赐教!!多谢!!!
 
总是IE选项当中INternet选项-->高级当中UTF-8发送URL去掉,
加上HTTPDecode
比如str:=HTTPDecode(Request.QueryFields.Values['username'])
 
高手,感激不尽啊!
但是同时又有另外一个问题了,先给一百分吧,麻烦高手再看一看啊
我在另一台机上使用这个Web应用程序,却显示:

您没有权限查看该网页
您提供的证书没有权限查看该目录或网页。

--------------------------------------------------------------------------------

请尝试下列操作:

单击刷新按钮,并使用其他证书重试。
如果您确信应该能够查看该目录或网页,请与 Web 站点管理员联系,其电子邮件地址或电话号码请参阅 172.18.8.152 主页。
HTTP 401.3 - ACL 禁止访问资源
Internet 信息服务

 
虽然问题尚未解决,但还是非常感谢!
决定散分了
 
后退
顶部