Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread Issue with an Exception
Wed, Jul 24 2013 10:45 AMPermanent Link

Robert D. Smith

Avatar

I have the following code:

procedure TFrmMain.OpenLocalTables;
begin
 try
   SiMain.LogMessage('Activate Engine');
   DBISAMEngineMain.Active:=True;
   SiMain.LogMessage('Open Database');
   SiMain.LogString('DB Directory',DBISAMDBOAD.Directory);
   DBISAMDBOAD.Open;
   SiMain.LogMessage('Open Detail Table');
   DBISAMTblOADDetail.Open;
   SiMain.LogMessage('Open Comment Table');
   DBISAMTblOADComment.Open;
 except
   on E: Exception do
     begin
       if (E is EDatabaseError) and (E is EDBISAMEngineError) then
         begin
           SiMain.LogError(EDBISAMEngineError(E).ErrorMessage);
           SiMain.LogInteger('Error Code',EDBISAMEngineError(E).ErrorCode);
         end
       else
         SiMain.LogError(E.Message);
       Application.MessageBox('An Error Occurred Opening The Local Tables!','Error',MB_OK);
     end;
 end;
end;

This code is executed at the beginning of the application with no issue.  I have a program options (where I'm trying to enable setting the various Databuffercounts, etc to improve speed).

The code for the call to the program options is:

procedure TFrmMain.MnuOptionsClick(Sender: TObject);
begin
 CloseLocalTables;
 FrmOptions.ShowModal;
 FrmMain.Refresh;
 OpenLocalTables;
end;

Everything runs fine until the call to OpenLocalTables, where I receive an error message when attempting to execute the line:

DBISAMDBOAD.Open;

Once I hit this line, it encounters an exception.  For some reason, it is not going through the EDIBSAMEngineError portion, but the general exception routine.  The error message I get is:

Access violation at address 00CEC3F5 in module 'OADSAComment.exe'. Read of address 000003A8

I can't seem to find any information on this exception.  Anyone have any idea what could be happening here?
Wed, Jul 24 2013 10:58 AMPermanent Link

Robert D. Smith

Avatar

Figured it out - brain fart...
Wed, Jul 24 2013 12:18 PMPermanent Link

Raul

Team Elevate Team Elevate

I saw you found it but it's a not a DBISAM exception but delphi/os one.

It's triggered when you access invalid memory and can be in various
ways. For example calling "<table>.Open" when the <table> is nil would
result in this.

Raul

On 7/24/2013 10:45 AM, Robert D. Smith wrote:
> Access violation at address 00CEC3F5 in module 'OADSAComment.exe'. Read of address 000003A8
>
> I can't seem to find any information on this exception.  Anyone have any idea what could be happening here?
>
Image