我已经成功安装了ehlib3.5组件,而且运行它的DEMO1和DEMO2都没有问题,可我在运行我的程序时,提示如下错误:
[Error] DBGridEhImpExp.pas(950): Cannot assign to a read-only property
[Error] DBGridEhImpExp.pas(951): Cannot assign to a read-only property
[Error] DBGridEhImpExp.pas(952): Cannot assign to a read-only property
[Error] DBGridEhImpExp.pas(953): Cannot assign to a read-only property
[Fatal Error] DBGridEh.pas(1705): Could not compile used unit 'DBGridEhImpExp.pas'LINE 951 是:
      with FColCellParamsEh do
      begin
>       Row := -1;
>       Col := -1;
>       State := [];
>       Font := AFont;
        Background := ColumnsList[i].Color;
        NewBackground := ColumnsList[i].Color;
……
我看了'DBGridEhImpExp.pas'文件中,FColCellParamsEh是如下定义的:
  private
    FColCellParamsEh: TColCellParamsEh;TColCellParamsEh 在"dbGridEH.pas"中是如下定义的:
  TColCellParamsEh = class
  protected
    FAlignment: TAlignment;
    FBackground: TColor;
    FCheckboxState: TCheckBoxState;
    FCol: Longint;
    FFont: TFont;
    FImageIndex: Integer;
    FReadOnly: Boolean;
    FRow: Longint;
    FState: TGridDrawState;
    FText: String;
  public
    property Alignment: TAlignment read FAlignment write FAlignment;
    property Background: TColor read FBackground write FBackground;
    property CheckboxState: TCheckBoxState read FCheckboxState write FCheckboxState;
>    property Col: Longint read FCol write FCol;
>    property Font: TFont read FFont write FFont;
    property ImageIndex: Integer read FImageIndex write FImageIndex;
    property ReadOnly: Boolean read FReadOnly write FReadOnly;
>    property Row: Longint read FRow write FRow;
>    property State: TGridDrawState read FState write FState;
    property Text: String read FText write FText;有什么问题吗?

解决方案 »

  1.   

    楼主在Library中指定路径了吗?
      

  2.   

    安装上ehlib3.5组件,那么DBGridEhImpExp.pas单元肯定没问题.
    楼主,该模块是否使用继承方式编码阿?
    如果是,试一试编译程序时先打开基类.
      

  3.   

    在Tools菜单中->选择第一项->对话框中选择Library页
    再单击->Library Path 旁的按钮->在此页中增加你安装的ehlib3.5组件的路径就OK了!
      

  4.   

    已经在Library Path中添加了路径,这个我知道。应该不是这里问题,因为我编译DELPI自带的DEMO都没有问题的,能过。
    分析现象,我想是FColCellParamsEh对象是个TColCellParamsEh类,此类在dbGridEH.pas中定义的,看程序,其中的COL和ROW等属性,应该没有问题啊,为什么显示Cannot assign to a read-only property呢。我试着去掉“write FCol”,还是不行。
    请各位高手帮忙分析一下原因。奇怪的是我编译DELPHI自带的DEMO没有问题,可编译我的程序说出现的提示。我保证,我的程序在EHLIB2.4下编译没有问题。
      

  5.   

    问题解决了,是我原来安装的EHLIB2.4搞的鬼.我重新安装了一下,都正常了.