Data Editor improvements in Studio Pro and better performance with Valentina DB and Valentina Reports. Continue reading Valentina 7.4.3 Released, Adds New Valentina Studio Pro Features, Improved Valentina DB
Paradigma Software technology release 7.3.2 provides numerous fixes, improvements to Valentina Studio, Valentina ADKs and compatibility with MySQL and SQLite. Continue reading Valentina 7.3.2 Improves MySQL support; New Methods for Valentina DB, SQLite
Paradigma Software announces technology release 7.3.1 that provides feature improvements and fixes across multiple products. Continue reading Valentina Release 7.3.1 Now Available; Printing Improvements, Fixes
We have note that put_ID() should not be in the public interfaces of Schema Objects, because developer should not be able change ID of a scheme object.
We have check our sources, and found that only I_Field interface did have such method. So we move it into internal I_FieldEx interface. In the C++ header this method marked as DEPRECATED, and do nothing now. We believe that nobody from C++ developers have used it.
We will consider future ability to do “SET PROPERTY ID of Object name” via SQL, but this will be recommended for use by our own SQL scripts only.
Problem is that if you are a C++ developer and use VSDK for development,
then work with Values of Fields of cursor looks as:
I_Cursor_Ptr pCursor = db->SqlSelect( ... ); ... String s = pCursor->get_Field("Name" )->get_Value()->get_String(); double d = pCursor->get_Field("Weight")->get_Value()->get_Double(); ...
In contrast, for such languages as REALbasic or VB syntax is more short:
String str = pCursor.StringField( "fldName" ).value
We have decide that for C++ developer we can have set of simple macros that will allow C++ developer syntax as:
String str = GET_STRING( pCursor, "fldName" );
These macros are located in the: sources/FBL/VShared/VSQL/publ/Interfaces/VSQL_I_Cursor.h
Note, that more complex values as DateTime, Binary, still should be used in old way, because VSDK do not know format you goingto use. May be you can add own macroses in your project that looks similar and do job you need.
Now C++ developer can write simpler code as
ArrayOfValues_Ptr pValues = new ArrayOfValues(); pValues->AddItem( toValue_varchar(mName) ); pValues->AddItem( toValue_double(70.5) ); pValues->AddItem( toValue_long(size) );
ArrayOfValues_Ptr pValues = new ArrayOfValues(); Value_varchar* pValueName = new Value_varchar(); pValueName->put_String( mName.begin(), mName.end() ); pValues->AddItem( pValueName ); Value_double* pValueD = new Value_double(); pValueD->put_Double( 70.5 ); pValues->AddItem( pValueD ); ...
We have made two new x64 products on request of Valentina developers:
* VSDK x64 WIN
* VServer Embedded x64 Linux
Our Valentina Studio project has one Application target and dozen of plugins targets. Plugins are made as bundles.
All these targets build products into the same folder “Debug (Native)” or “Release (Universal)”.
Then Run Scripts do copy plugins into App package and using install_name utility correct install paths for them.
Yesterday I have decide to resolve problem with absolutely not working breakpoints in the XCODE 3.2.3 on OS X 10.6 (may be others also) working with our Valentina Studio project.
In the past we also did have such problems, but not so bad. Breakpoints did work sometimes, in worse case we was able to insert DebugStr(“\p”) into code, and that 100% did stop in the debugger as for app, so fot its plugins and for database engine DYLIBs.
And yesterday I have to see the first time that even DebugStr() do not stops. Wow.
I have spent many hours googling about this problem. And have found few key places.
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.