Client C++

Ruslan Zasukhin sunshine at public.kherson.ua
Sun May 25 14:21:16 CDT 2003


on 5/25/03 6:54 AM, lfagan at calarts.edu at lfagan at calarts.edu wrote:

> Name:      Larry Fagan
> 
> Question regarding: vsdk

Hi Larry,

> I am in the process of trying to port my carbon app over to a client app .
> I want to have each client  create and maintain its own local database of
> volitile information.

:-) I see that probably 90% of Valentina developers keep in mind development
applications that can work with both LOCAL and REMOTE databases.


> My old code will compile for this database but it crashes on
> CreateDataBase(  FSSpec*);
> Why? It used to work.

> The Api is still in the lib...but it don't work.

Larry, but you link to VSDK_Client library ?

1) This library DO NOT contains Valentina engine itself.
2) so This library is much smaller.
3) it simply talk via socket to server.

4) Yes, API still here, just because we want produce the same API for both
SDKs, but of course CreateDataBase(  FSSpec* ); do not works.
We need fix crash and return error.


Larry, look. If you want LOCAL and REMOTE database, then you need LINK to
your app both: VSDK and VSDK_Client libraries.

Please note, that today this is still hard task, and we only work on it.
I already have told on list why this is problem.
VDKC_ classes are separate and NOT related classes to VDK_ classes.

Also note, that since "normal" way, will be usage of ONE of libraries, then
VDKC_ classes have typedefs that simply map them VDK_ classes, if defined
macro VSDK_CLIENT.

IF you want right now this functionality then you need
1) do not define VSDK_CLIENT macro
2) link both libs
3) use in your code explicitly VDK_Database and VDKC_Database.

And again, in 2.0 release we will remove this problems, because we will have
single set of interface classes I_Daatbase, I_Cursor.
So you will be able have the same code that works with any kind of objects.
For example, function

    DisplayCursor( I_Cursor* )
    
Will work for any cursor, -- LOCAL or REMOTE.
You see?    

I recommend you today in first turn check that you can make you C++ app as
client to Vserver. When this will work, start make combo app that use local
and remote engines.


> Missing APIs....
> will SelectAllRecords, and Find return? Or are FBL_bitsets no good for client
> use?

NO. 

When you work with remote database you must not use
1) BaseObject API to do AddRecord, navigation, searches
2) BitSets for searches.

You MUST use SQL and Cursors.
BitSets can work only for local database.

But in the same time, you still can create db structure as classes.
This work for Client-Server also.


> The client libs and example code you uploaded were of great help!
> Thanks
> Larry Fagan

Okay, Larry, if you are not on list, please subscribe to read such info,
when I answer to other developers.

-- 
Best regards,
Ruslan Zasukhin      [ I feel the need...the need for speed ]
-------------------------------------------------------------
e-mail: ruslan at paradigmasoft.com
web: http://www.paradigmasoft.com

To subscribe to the Valentina mail list go to:
http://lists.macserve.net/mailman/listinfo/valentina
-------------------------------------------------------------



More information about the Valentina mailing list