zoukankan      html  css  js  c++  java
  • TClientDataSet.CreateDataSet为什么出错

    今天遇到一个怪问题,在Delphi中,运行如下程序,正常

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, DBGrids, DBClient, DB;
    
    type
      TForm1 = class(TForm)
        dbgrd1: TDBGrid;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.FormCreate(Sender: TObject);
    var
      TitleNames:array of String;
      I:integer;
    
      DStTemp: TClientDataSet;
      fldsTemp:array of TStringField;
    
      dsTemp:TDataSource;
    begin
      Setlength(TitleNames,2);
      //  长度为31
      TitleNames[0] := '1234567890123456789012345678901';
      TitleNames[1] := '这是一个测试标题宽度的实验程序';
    
      DStTemp := TClientDataSet.Create(dbgrd1);
      SetLength(fldsTemp,2);
    
      for I:=0 to 1 do
        begin
          fldsTemp[I]:=TStringField.Create(dbgrd1);
    
          dbgrd1.FindComponent('Field'+IntToStr(I)).Free;
          fldsTemp[I].Name:='Field'+IntToStr(I);
          
          fldsTemp[I].Name:='Field'+IntToStr(I);
          fldsTemp[I].FieldName:=TitleNames[I];
          fldsTemp[I].Size:=10;
          fldsTemp[I].Index:=I;
          fldsTemp[I].DataSet:=DStTemp;
        end;
    
      DStTemp.CreateDataSet;
      {
        对DataSet赋值
      }
    
      dsTemp := TDataSource.Create(dbgrd1);
      dsTemp.DataSet := DStTemp;
    
      dbgrd1.DataSource := dsTemp;  
    end;
    
    end.
    
    

    但是,当TitleNames[0]='12345678901234567890123456789012',也就是说长度大于31的时候,就会发生错误,不知道为什么??

  • 相关阅读:
    web fileReader API
    placeholer 改变颜色
    在选择标签中遇到的问题
    选择标签
    cesh
    sui 无限下拉分页
    调用百度地图 API 移动地图时 maker 始终在地图中间 并根据maker 经纬度 返回地址
    两种轮播图实现方式
    CSS多行文本溢出省略显示
    从Python看Web架构的发展
  • 原文地址:https://www.cnblogs.com/hutou/p/1880882.html
Copyright © 2011-2022 走看看