zoukankan      html  css  js  c++  java
  • delphi ios grid BindSourceDB bug

    BindSourceDB4.DataSet :=nil;

    BindSourceDB4.DataSet :=FDMemTable1;

    grid绑定后显示数据正常,第二次赋值BindSourceDB4.DataSet就报错了。RAD berlin 存在此问题。

    error in ios

    windows平台下正常,IOS下报错。

    Data.Bind.DBScope.pas,edit file add to current project,compiler that's ok!

    function TCustomBindSourceDB.CreateSubDataSource: TDataSource;
    begin
      Result := TSubDataSource.Create(Self);
      Result.Name := 'SubDataSource'; // Do not localize
      Result.SetSubComponent(True);
    end;
    
    procedure TCustomBindSourceDB.SetDataSet(const Value: TDataSet);
    var
      LDataSource: TDataSource;
    begin
      if Value <> DataSet then
      begin
        if Value <> nil then
        begin
          if (FDataSource = nil) or (not (csSubComponent in FDataSource.ComponentStyle)) then
          begin
            LDataSource := CreateSubDataSource;
            LDataSource.DataSet := Value;
            Self.DataSource := LDataSource;
          end;
        end
        else
          DataSource := nil;
        if FDataSource <> nil then
        begin
          FDataSource.DataSet := Value;
          SetLinks(FDataSource);
        end;
      end;
    end;

    DataSource := nil;

    change to

     if DataSource<>nil then      
          DataSource.DisposeOf;
          DataSource := nil;

    用query的EnableControls、DisableControls两个方法实现数据断开连接,依然会报错,所以还是用BindSourceDB4.DataSet=nil来断开。

  • 相关阅读:
    AngularJS(17)-Angular小程序
    AngularJS(16)-路由
    AngularJS(15)-依赖注入
    AngularJS(14)-动画
    AngularJS(13)-包含
    AngularJS(12)-BootStrap集成
    AngularJS(11)-API
    AngularJS(10)-数据验证
    Mysql 备份和恢复.sql文件,导入.csv文件
    Mysql group_concat()
  • 原文地址:https://www.cnblogs.com/cb168/p/5508252.html
Copyright © 2011-2022 走看看