Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread Repair V 3.30
Mon, May 15 2006 7:07 PMPermanent Link

"Robert"
Using DBISAM 3.30. The following code (t1 is a DBISAMTable)

     t1.Active := false;
     s := cbs[j].Caption;
     t1.TableName := s;
     t1.Exclusive := true;
     if t1.RepairTable(True) then begin
       s2 := ' OK' ;
       cbs[j].Checked := false;
     end else s2 := ' Repair Failed';

RepairTable returns false. However, the tables seem to have been repaired
correclty.

Was not a problem with 3.27. Is this a known error, or am I as usual missing
the obvious?

Robert

Mon, May 15 2006 9:01 PMPermanent Link

"Clive"
From memory RepairTable returns FALSE if it found (and fixed) corrupt data.

RepairTable only returns true if the table is OK when you called the
function.

Maybe call verifyTable first

for example

if  NOT t1.VerifyTable then
begin
   t1.repairTable
   ShowMessage('Table was corrupt and has been repaired'):
end
else
   ShowMessage('Table is OK'):

OR Maybe

After RepairTable call VerifyTable to ensure all is now ok.

     t1.Active := false;
     s := cbs[j].Caption;
     t1.TableName := s;
     t1.Exclusive := true;
     if t1.RepairTable(True) then begin
       s2 := ' OK' ;
       cbs[j].Checked := false;
     end
      else
      begin
           if t1.VerifyTable then
              s2 := ' Repair Success'
           else
              s2 := ' Repair Failed';
     end


"Robert" <ngsemail2005withoutthis@yahoo.com.ar> wrote in message
news:65F4EB66-1DB5-464A-BD17-45A8F31BB563@news.elevatesoft.com...
> Using DBISAM 3.30. The following code (t1 is a DBISAMTable)
>
>      t1.Active := false;
>      s := cbs[j].Caption;
>      t1.TableName := s;
>      t1.Exclusive := true;
>      if t1.RepairTable(True) then begin
>        s2 := ' OK' ;
>        cbs[j].Checked := false;
>      end else s2 := ' Repair Failed';
>
> RepairTable returns false. However, the tables seem to have been repaired
> correclty.
>
> Was not a problem with 3.27. Is this a known error, or am I as usual
> missing the obvious?
>
> Robert
>

Mon, May 15 2006 9:01 PMPermanent Link

"Clive"
This applies to V4, I assume the same for V3..

"Clive" <dd@dddd.com> wrote in message
news:52519846-4542-4C81-9B7C-483FE946D3F0@news.elevatesoft.com...
> From memory RepairTable returns FALSE if it found (and fixed) corrupt
> data.
>
> RepairTable only returns true if the table is OK when you called the
> function.
>
> Maybe call verifyTable first
>
> for example
>
> if  NOT t1.VerifyTable then
> begin
>    t1.repairTable
>    ShowMessage('Table was corrupt and has been repaired'):
> end
> else
>    ShowMessage('Table is OK'):
>
> OR Maybe
>
> After RepairTable call VerifyTable to ensure all is now ok.
>
>      t1.Active := false;
>      s := cbs[j].Caption;
>      t1.TableName := s;
>      t1.Exclusive := true;
>      if t1.RepairTable(True) then begin
>        s2 := ' OK' ;
>        cbs[j].Checked := false;
>      end
>       else
>       begin
>            if t1.VerifyTable then
>               s2 := ' Repair Success'
>            else
>               s2 := ' Repair Failed';
>      end
>
>
> "Robert" <ngsemail2005withoutthis@yahoo.com.ar> wrote in message
> news:65F4EB66-1DB5-464A-BD17-45A8F31BB563@news.elevatesoft.com...
>> Using DBISAM 3.30. The following code (t1 is a DBISAMTable)
>>
>>      t1.Active := false;
>>      s := cbs[j].Caption;
>>      t1.TableName := s;
>>      t1.Exclusive := true;
>>      if t1.RepairTable(True) then begin
>>        s2 := ' OK' ;
>>        cbs[j].Checked := false;
>>      end else s2 := ' Repair Failed';
>>
>> RepairTable returns false. However, the tables seem to have been repaired
>> correclty.
>>
>> Was not a problem with 3.27. Is this a known error, or am I as usual
>> missing the obvious?
>>
>> Robert
>>
>
>

Image