I've developed an application for the iPad/iPhone that connects to a PostgreSQL database and displays multiple fields in a dbGrid.
For this I used the Unidac drivers and the application is working perfectly, correctly displaying the images, texts and getting some binary files from the database.
After the application was ready (and working correctly) I decided to create a version that gets the data from TStreams and for that I used several TVirtualTables.
After I finished, I realized that the images no longer displayed correctly in the dbGrid (they go blank). The binary files also are not read correctly but these issues only occur on iOS.
The same source code compiled for W32, W64, and MacOS works perfectly.
Can someone help me figure out where the problem is?
I created a example project for you to see this problem. Note that when compiled for Windows or MacOS the image is displayed but on iOS it does not appear.
Use this link to download example project:
https://1drv.ms/u/s!Al-1RWjYXpnaj8YsTzHG6ekcN8LDuw
I´m using:
Delphi 10.2 Update 3 (25.0.29899.2631)
Patch for iOS 10.3
Unidac 7.2.7
Blob fields in TVirtualTable (in iOS)
Re: Blob fields in TVirtualTable (in iOS)
Thank you for providing the information. We've reproduced the issue and started to investigate possible causes of the described behavior. We will let you know the results as soon as we get them.
Re: Blob fields in TVirtualTable (in iOS)
I do not know if this information will be useful, but, to fix this problem in iOS I did the following:
1) I stored the images and binary files in a Resource Stream.
2) After open the table I update each BLOB fields from the Resource Stream values.
It appears that binary fields are not read correctly only when they are stored in the TVitualTable component or when they are read using the LoadFromStream or LoadFromFile functions.
1) I stored the images and binary files in a Resource Stream.
2) After open the table I update each BLOB fields from the Resource Stream values.
It appears that binary fields are not read correctly only when they are stored in the TVitualTable component or when they are read using the LoadFromStream or LoadFromFile functions.
Re: Blob fields in TVirtualTable (in iOS)
We reproduced the issue and fixed this error. The fix will be included in the next UniDAC build. As a workaround, we can send you a night UniDAC build including the required changes. For this, using e-support form (https://www.devart.com/company/contactform.html) provide us with your license number
Re: Blob fields in TVirtualTable (in iOS)
Thank you.
Re: Blob fields in TVirtualTable (in iOS)
We are glad to see the problem resolved. Please don't hesitate to contact us with questions concerning UniDAC usage.