Big Trouble of Application of designed by Delphi3.0 Client/Server on NT4.0+SP4 above

Hello

I have got the problem about the application of designed by Delphi3 C/S
to execute
in NT4+ServicePack4 above.
But the application can work normal in the environment of Win95/98
NT4+SP3.
When I have executed the application in NT4+ ServicePack4(or SP5
SP6),it returned
below messages:
           1.Cannot perform this operation on a closed dataset.
           2.external exception: EEFFACE
The external exception:EEFFACE what I had searched is about BCB and have
occured at TBlobstream.Read.
Who can proffer the solution for me and help me?
I Email Address is s...@ms1.rpticomp.com.tw

Below is the relative messages:
BDE:(v5.1.0.4)
   Aliases:SECDB
  Definition of SECDB
  Type: MSACCESS
  DATABASE NAME: c:\auth\sec.mdb
  LANGDRIVER: ascii ANSI
  OPEN MODE: READ/WRITE

Database:(Access97 SR-2)
      Name: Sec.mdb
      Table: secdat

Objects:
1. DataBase..
DataBase1:Tdatabase
Properties:
AliasName: SECDB
DatabaseName: sec2
HandleShared: False
KeepConnection: True
LoginPrompt: False
Name: DataBase1
Params: [Tstrings]
SessionName: Default
Tag: 0
Translsolation: tiReadCommitted

2.Table..
TblSecDat:Ttable
 Properties:
 Active: False
 AutoCalcFields: True
 CachedUpdates: False
 Constraints: [TcheckConstraints]
 DatabaseName: SECDB
 Exclusive: False
 Filtered:False
 +FilterOptions:[]
 IndexFiles: [TindexFiles]
 IndexName: SECDAT1
 Name: TblSecDat
 ReadOnly: False
 TableName:Secdat
 TableType: ttDefault
 Tag: 0
 UpdateMode: upWhereAll
3.DataSource..
DataSource1:TDataSource
  Properties:
 AutoEdit: False
 DataSet: TblSecDat
 Enabled: True
 Name: DataSource1
 Tag: 0

 Events:
 OnDataChange: DataSource1DataChange

My Sub. Program is below:

procedure RsaShowForm.FormCreate(Sender: TObject);
begin
    ---------------------
    with TblSecDat do
    begin
     Active := False;
        DataBaseName := 'sec2';
      try
        Active := True;
        TblSecDat.Last;
      except
       // do nothing
      end;
    end
    ---------------------
end;

procedure TRsaShowForm.ShowBinData;
var
    ------------------------
TmpBlobStream: TBlobStream;
-----------------------
begin
    ---------------------
   Exp_Len := TblSecDat.FieldByName('exp_len').AsInteger;
    Mod_Len := TblSecDat.FieldByName('Mod_Len').AsInteger;
    public_key.Explen := Exp_Len;
   public_key.ModLen := Mod_Len;
   TmpBlobStream := TBlobStream.Create(TblSecDat.FieldByName('modulus')
as TBlobField, bmRead);
    if TmpBlobStream <> nil then
    begin
     TmpBlobStream.Read(public_key.Modulus, public_key.ModLen);
     TmpBlobStream.Free;
    end
    else
    begin
          ShowMessage('DB field moduls Create Fail.');
          Exit;
    end;
    -----------------
end;

procedure TRsaShowForm.DataSource1DataChange(Sender: TObject;
  Field: TField);
begin
   ShowBinData;
end;

If someone can give me a clue, I will be very pleased!

Please do send it to me by E-mail in this newsgroep very quickly.

Your help will be much appreciated!

Best Regards
Stin (s...@ms1.rpticomp.com.tw)