本帖最后由 darlingpeng 于 2014-01-16 15:20:18 编辑

解决方案 »

  1.   

    还有,我用XE2上的Data Explorer连接MSSQL,总是提标:Borland.Data.TDBXError: SQL State: 28000, SQL Error Code: 18456
    用户 'sa' 登录失败。
    SQL State: 42000, SQL Error Code: 4060
    无法打开登录所请求的数据库 "test"。登录失败。为什么啊。
      

  2.   

    使用TSQLConnection .driver 选择MSSQL 然后设置对应的属性 就可以了
      

  3.   

    我使用FastScript,给其中增加函数,但有问题。
    CallMethods如下:
    function TZCFunctions.CallMethod(Instance: TObject; ClassType: TClass; const MethodName: String; var Params: Variant): Variant;
    begin
      if MethodName = UpperCase('proc_Enter_KeyPress') then
        Result := proc_Enter_KeyPress(Params[0], Params[1], Params[2], Params[3], Params[4], Params[5]);
      if MethodName = UpperCase('fun_check_ifContinueDo') then
        Result := fun_check_ifContinueDo(Params[0], Params[1], Params[2], Params[3]);
    end;AddMethod如下:
    AddMethod('procedure proc_Enter_KeyPress(mt_cur: TObject; mt_next: TWinControl; var mc_key: Char; mb_button: Boolean = false; me_limit: r_InputLimit = ilNone)', CallMethod);
        AddMethod('function fun_check_ifContinueDo(const mb_condition: Boolean; mt_focus: TWinControl; const ms_prompt: String): Boolean', CallMethod);但提示:
    [DCC Error] FsZCFunctions.pas(32): E2010 Incompatible types: 'TObject' and 'Variant'
    [DCC Error] FsZCFunctions.pas(32): E2010 Incompatible types: 'TWinControl' and 'Variant'TObject和TWinControl在FastScript中都是可以使用的啊。
      

  4.   

    对于TObject和TWinControl什么的,
      

  5.   

    对于TObject和TWinControl什么的,我可以使用与Variant间的转换完成,
    如:
    function TZCFunctions.CallMethod(Instance: TObject; ClassType: TClass; const MethodName: String; var Params: Variant): Variant;
    begin
      if MethodName = UpperCase('proc_Enter_KeyPress') then
        Result := proc_Enter_KeyPress(VariantToTObject(Params[0]), VariantToTWinControl(Params[1]), VariantToChar(Params[2]), VariantToBoolean(Params[3]), VariantToTZCInputLimit(Params[4]));
      if MethodName = UpperCase('fun_check_ifContinueDo') then
        Result := fun_check_ifContinueDo(VariantToBoolean(Params[0]), VariantToTwinControl(Params[1]), Params[2]);
    end;但是对于var参数怎么办,我发现有下列错误提示:
    Constant object cannot be passed as var parameter