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.
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, …