我的后台access数据库里的表是这样的结构:exam_content  ole对象,exam_score  数字
我对此写了个类。但是不太熟悉,写成了下面这样的。调试通不过。type Texam=class(Tobject)
  private
    Fexam_Content:Tblobstream;
    Fexam_score:integer;
    FValidData:Boolean;
    function  getExamContent:Tblobstream;
    procedure setExamContent(const Value: Tblobstream);
  public
    constructor create;
    destructor destory;
    property exam_Content:Tblobstream read getExamContent write setExamContent ;
    property exam_score:integer  read GetExamScore write SetExamScore;
   end;implementationfunction Texam.getExamContent:Tblobstream;
begin
  result:=FExam_Content; //出错后,调试光标停在此句.(不知道是不是这样写的)。
end;procedure Texam.setExamContent(const Value: Tblobstream);
begin
  if Fexam_Content<>value then
     Fexam_Content:=value;
end;然后在FORM单元中写
var  aexam:texam;
begin
  aexam:=texam.create();
  richedit1.Lines.SaveToStream(aexam.exam_Content);
end;出现访问违例错误。应该怎么样写呢?初次这样写不懂的太多了。望大虾指教。

解决方案 »

  1.   

    destructor destory; //要加 override;
    destructor destory; override;constructor Texam.create;
    begin
      
      Fexam_Content := Tblobstream.Create
    end;destructor Texam.destory;
    begin
      Fexam_Content.Free;
      Inherited;
    end;
      

  2.   

    cncharles(旺仔) :
      create和destory不需要加override也可以的吧。//##############################################
    constructor  Texam.create;  
    begin  
         
       Fexam_Content  :=  Tblobstream.Createend;  
     
    destructor  Texam.destory;  
    begin  
       Fexam_Content.Free;  
       Inherited;  
    end; //############################################ 
    这段代码也写了。但是仍然没有用处的。
      

  3.   

    我把TBLOBSTREAM全改为Tstream了。不知道如何写。。哪个大虾能给个代码参考下