I wrote an application in Lazarus 0.9.30 with SQLite 3(I used only 
TSQLite3Dataset). Everything's fine 'till this morning. The application is 
written to run under WinCE arm devices.

 I wrote a method to archive the SQLite 3 database via TZipper. I reviewed the 
code logic dozen of times and it seems that there is no TSQLite3Dataset open. 
The code of my method is:

 procedure TfrmZiparBanco.spbtnZiparClick(Sender: TObject);
 var Zipper : TZipper;
 begin
 Zipper := TZipper.Create;
 Zipper.FileName := stxtZipFile.Caption;
 try
 
Zipper.Entries.AddFileEntry(stxtArqEntra.Caption,ExtractFileName(stxtArqEntra.Caption));
 ShowMessageMobile(self,'before call');
 Zipper.ZipAllFiles;
 except
 On e: Exception do
 begin;
 ShowMessage('Error zipping file = ' + e.Message);
 Abort;
 end;
 end;
 end; // spbtnZiparClick 

 I saw the "before call" message and after I receive:

 Error zipping file = Unable to open file "\Storage Card\esteio0805.db"

 The Zip file(the archive) was created, but with 0(zero) bytes in length.

 I made a single program that call the same method but didn't use the 
database(no declare, nor Open/Close). In this case the execution of the method 
was successfull and the zip file was created(I tried to open it with 7zip and 
it opens ok).

 It seems to me, that there are some components of the database(or 
TSQLite3Dataset) that remain opened even if I hit the Close method. As I 
already said above I review the logic dozen of times and it seems that there is 
no TSQLite3Dataset instances opened. It seems that there something locking the 
database file access.

 The error reported occurs in the windows mobile emulator and in a HP iPAQ too.

 Is it possible?

 Greetings from sao Paulo - Brasil

 Ricardo.'.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to