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