以下是asp代码:
<%
dim b,c,d
b=trim(Request.form("username"))
c=trim(Request.form("password"))Set DelphiASPObj = Server.CreateObject("ActiveEncrypt.Encrypt") '--调用
d=DelphiASPObj.DesEncrypt(c,"【,???<?5>%^<a&?)")'-----------出错地方
set rs=Server.CreateObject("adodb.recordset")
sql ="SELECT StusID, password FROM StudBaseInfo where StusID = '"&b&"' and password = '"&d&"'"
rs.open sql,conn,1,1
%>以下是delphi代码:
procedure TEncrypt.DesEncrypt(FStr, FKey, ReturnStr: PChar);
var temStr,temKey:String;
begin
    temStr:= StrPas(FStr);           //把以Null结尾的Pchar类型转化成String
    temKey:= StrPas(Fkey);
    temStr:=EncryptStrDes(FStr,temKey);
    StrPCopy(ReturnStr,temStr);      //把String 转化成以Null结尾的Pchar类型
end;运行asp时提示的错误信息为:
变量使用了一个vbscript中不支持的automation类型:“delphiaspobj.desencrypt"
请问:该如何解决呢???(asp并没有转化成pchar类型的函数啊!)

解决方案 »

  1.   

    我想应该在delphi代码里改,怎样把以下代码改为适合asp的字符类型呢????
    asp转化成字符类型的函数是cstr()procedure TEncrypt.DesEncrypt(FStr, FKey, ReturnStr: PChar);
    var temStr,temKey:String;
    begin
        temStr:= StrPas(FStr);           //把以Null结尾的Pchar类型转化成String
        temKey:= StrPas(Fkey);
        temStr:=EncryptStrDes(FStr,temKey);
        StrPCopy(ReturnStr,temStr);      //把String 转化成以Null结尾的Pchar类型
    end;
      

  2.   

    你把ReturnStr的类型改为olevariant,不要用PChar。