Valentina is not RAM-based. Your database can be much larger than the installed RAM. However, the more memory Valentina has to work with, the
faster it will be. Starting from v2 Valentina can use RAM-based Databases and Tables.
Valentina database files are the same for 32-bit and 64-bit modes.
Of course executables are different, like for any other application or library. Although MAC OS X allows to pack few branches of code into single file, we tend to provide different archives for 32 and 64 bit executables and ADKs.
DropTable is expected to be faster, because when you delete record by record, engine checks constraints and links in order to delete linked records. DropTable() simply deletes the table, and tries to do fast operation to cleanup links if any.
NO, record is never moved during its lifetime with normal db operations. This can happen only with the help of Refactoring commands such as COMPACT or Dump/Load. Note, that refactoring operations always take care about synchronization of all ObjectPtr and BinaryLinks in this case.
Talking about fld.SetBlaink() let's note that exists more often used tbl.SetBlank(), which you can use in API-way code to prepare Record Buffer before assign new values for new record. fld.SetBlank() assigns value of field to DEFAULT value if it exists, otherwise to NULL if field is nullable, otherwise to something “empty”: zero for numbers, empty string for strings.
fld.put_IsNull() assignes field value to NULL if field is nullable, otherwise to empty value.
blob.DeleteData() removes all segments of a BLOB value. Effectively such BLOB value is same as NULL value.
ObjectPtr field will be created in not complete state. Later you should assign a correct Tagret using VObjectPtr.Target property. You may wish to use this trick to be able create tables having circular reference.