VSDK_Client for project builder

Charles Yeomans yeomans at desuetude.com
Tue May 20 18:36:59 CDT 2003


On Tuesday, May 20, 2003, at 07:26 AM, Ruslan Zasukhin wrote:

> on 5/20/03 2:15 PM, Totte Alm at totte at code66.se wrote:
>
>> One thing: Will there be a "Client/Local" version, where you have the 
>> full DB
>> code, PLUS the client ability?
>
> :-)
>
> I see many developers dream about such combo.
> It looks to me this will be unique feature for Valentina.
> For example PrimaBase exactly, allow you choose only "one of".
>
[snip]

> 2) for c++ 2.0 this problem will go away, because instead of VDK and 
> VDKC
> classes we will have single set of interface classes
>
>     I_Cursor
>     I_Database
>     I_Field
>
> This will be paradise !!!
>
>
> 3) For Visual BASIC and for Director it seems also will not be huge 
> problems
> to support this.
>
>     But for REALbasic I still do not see a way.
>     How to have in the plugin folder 2 V4RB and V4RB_Client plugins,
>     and they should now conflict.
>     Right now both have classes with THE SAME names, Vdatabase, 
> VCursor.
>     and this kill idea.
>
>     May be I will need make here also Interface classes,
>     and subclass them. This kill 2 tagets. This interface classes
>     then must be in RB code itself as separate module.
>     This will be THE SAME RB classes that we have talk many times
>     on RB list as general subset for any DBMS.
>
>     So RB promise a lots of tasks on this way.
>
>

I would also like the ability to use both local and remote databases in 
the same project.  If I understand you correctly, the idea would be to 
make VDatabase,  VCursor, VBaseObject, VField, and perhaps the VField 
subclasses into class interfaces.  These interfaces could be 
distributed as a collection of Rb class interfaces -- it probably 
wouldn't even be necessary to write a plugin for them.  Then the V4Rb 
plugin would have a class VDatabaseLocal , while the V4Rb Client would 
have a class VDatabaseNetwork (and also 
VBaseObjectLocal/VBaseObjectNetwork, etc.).  These classes could also 
implement the RBDB interface through inheritance, since RS appears to 
be utterly unresponsive to the idea that the RBDB API be written in 
terms of class interfaces.

I think that this would work fine for databases with dynamic structure, 
but suppose one wants to use a static structure? That is, I should 
still be able to write subclasses of VDatabaseLocal, VDatabaseNetwork, 
etc.  This seems possible -- in fact, one could define new class 
interfaces that extend VDatabase, etc.  The only disadvantage is that 
if I want to use the same database structure with both local and remote 
databases, I would need to write essentially the same code for parallel 
subclasses of VDatabaseLocal and VDatabaseNetwork.

Charles Yeomans



More information about the Valentina mailing list