私は教科書のページを格納するテーブルを持っています。 アプリで作業していてインスタントブックを追加し終わったところ、テーブルが200MBを超えていたが、そのページを含むPDFはわずか70MBの438ページだった。XOJOでSQLiteデータベースに保存された画像の圧縮を変更する必要がありますが、処理中にエラーが発生します
問題は、画像を最大品質で保存することです。今私は、すべてのレコードを上書きするスクリプトを作成して、画像を開き、再び中間圧縮として保存したいと考えています。
私はレコードセットとループを作成して圧縮を変更するために各レコードを調べましたが、アプリケーションがプロセスの途中でクラッシュします。
コードを変更しても、いつでもクラッシュします。
私は他のアプローチをとって200レコードのforループを作成しました。 これはうまくいきましたが、データベースのファイルサイズは変更されませんでしたか?ここに示されているよう
ランタイムエラーが、UnsupportedOperationException
です:
これはコードです:
dim rs as RecordSet
rs=lego.LegoData.SQLSelect("SELECT * FROM Books")
dim resize as Picture
while not rs.EOF
resize = picture.FromData(rs.Field("intructions").StringValue)
rs.Edit
rs.Field("intructions").StringValue = resize.GetData(Picture.FormatJPEG, Picture.QualityMedium)
rs.Update
rs.MoveNext
wend
はどういうわけか、それはNIL
200後のレコードを読み取り、それはNIL
ではありません。 エラーは毎回同じレコードで発生しているわけではなく、独自の意思がありますか?
提案がありますか?ブックイメージの圧縮機能も組み込みたいので、エクスポートされたマニュアルを小さくすることができます。
SQLにLIMITを追加して200行のみを実行し、それを手動で変更してテーブル全体800+個の行に移動しました。私のデータベースは今は小さく、今すぐ迅速な回避策でした。エラーがないので、データが破損しているためではありません。 – Berry
Xojoにメモリリークが発生している可能性があります。代わりにXojoフォーラムで助けを求めることをお勧めします。これはバグを発見するのに適切な場所ではありません。 –