Update and fix release improves several developer ADKs, Valentina Server, Studio, iOS client and more.Continue reading Valentina Release 9.6.4 Improves Studio, Updates Valentina ADK for LiveCode 64 Bit
If you are developing native Cocoa applications with Apple Xcode you will want to check out how to install and get started with Valentina ADK. You can build ultra fast database applications with Valentina DB ADK for Cocoa, and embed visually stunning reports in your applications with Valentina Reports ADK for Cocoa.
This video covers the following topics:
- Downloading the single ADK archive for both products
- Installing the single archive from the installer image
- Linking to the Valentina framework in Apple Xcode
- Importing the main Valentina header
- Adding a new button to initiate / shut down Valentina Client
- Adding code to connect to a remote Valentina Server
- Adding some SELECT code to display some records
If you are developing fast database applications for Mac OS X, you can use Valentina Reports ADK for Cocoa to display and format your data better than any other commercial reports framework.
Frank have contact us with request add ability for V4CC (Valentina for Cocoa) developers to specify the location of journal of a database. This is important for sandboxed applications, which on default can access only their sandbox folder and a file(s) that user specify explicitly.
PROBLEM is that if a user choose somedb.vdb file in the SelectFile dialog , then Valentina engine needs yet to create a journal file near to .vdb file. But for a sandboxed application this is prohibited by OS X. This is why developer want to be able specify another location for journal file.
Btw, this problem exists more of year for SQLite database that is used e.g. in CoreData of Apple, when it is used by a sandboxed app. Strange, but the only advice from Apple is – disable journal file.
We have spend couple of days to add into C++ level and into V4CC ADK this feature. Rest ADKs soon.
Now you can write the following in V4CC:
We have add a new great feature into Valentina Studio PRO:
Import XCODE model into Valentina Database Schema.
Import Wizard allows you to specify for each link between tables its kind to be one of:
Foreign Key, ObjectPtr or BinaryLink.
Details please read on this Valentina WIKI page
In version 4.8 we add one more cool feature to Valentina for Cocoa (V4CC) ADK – Interface Builder plugin!
V4CC Interface Builder Plugin allows you to develop a Cocoa application with embedded V4CC.framework without writing any code to link GUI with a Valentina database. Instead you will use bindings and few Valentina Controllers.
NSTableView class has setDataSource method that allows assign a NSTableDataSource instance to be a data source for that table view.
In v4.8 we have to add VCursorDataSource and VTableDataSource classes that are able to do this job — easy display a cursor or a table into a given NSTableView. As easy as a single line of code:
mCursorDataSource = [[VCursorDataSource alloc] initWithCursor:mCursor view:tvListBox];
In v4.8 we adding support of Key Value Coding (KVC) to VCursor and VTable classes.
This is implemented as VCursor (KVC) category with a couple of methods:
@interface VCursor (KVC) // If wrong key is specified then nil is returned. - (id) valueForKey:(NSString *)key; // If wrong key is specified then nothing is changed. - (void) setValue:(id)value forKey:(NSString*)key;
In v4.8 we have implement
a) Enumerators for all V4CC classes where this was possible and
b) for Fields we have provide also FastEnumeration protocol in classes VTable and VCursor, because this is the most often usage case.
In v4.8 of Valentina for Cocoa we greatly improving support of Cocoa and Obj-C 2.0 features. For this we have add V4CC/sources/cocoa folder, which contains all additional code for this. In such way, we keep very separate standard Valentina ADK API sources and this additional features sources.
For this we just have set option GarbageCollection = SUPPORTED for V4CC (32/64) and iV4CC (Dev/Sim) targets. This means that now these frameworks will work in both kinds of apps: GC-enabled and GC-not-enabled.
Note, that internally V4CC still uses retain/release. Also keep in mind that we very recommending to developers manage lifetimes of database objects manually. Just image that you have allow to GarbageCollector manage a VCursor instance. When you think record locks will be released?
We introduce a new utility method Valentina.CopyCursorToNewTable(), which is able to save you hundreds of lines of advanced code in your ADK-based applications. This method added into major Valentina ADKs.
You can read detailed description of this new method here.
We introduce our first 64-bit ADKs for MAC OS X:
- Valentina for C++ (VSDK)
- Valentina for Cocoa (V4CC)
- Valentina for PHP Standalone (VPHP)
It is clear that we cannot make V4RB, V4REV and such to be 64-bits because their IDEs do not support this.
Next our step in this direction, will be introduction of 64 bit ADKs for Windows, VSDK, VNET, …
Erne have report bug http://www.valentina-db.com/bt/view.php?id=4885 in Valentina for Cocoa (V4CC).
Problem was that VField.value in ObjC implemented as pair of methods (in other Valentina ADKs, e.g. Valentina for REALbasic it is a true property of class). So if to override this pair in the sub-classes then always will be called overridden methods.
To resolve issue, we have decide to rename these methods in all VField sub-classes. Rules now are simple: