I have about two months of free time coming up and I want to wade into a
programming project I've been thinking about for awhile. Before I say what
I want to do, however, let me say what I have now as background.
I've written an app for my iPAQ 1910's & 1930's that we use here in my
business. It's an OOP Win32 C++ non-MFC app developed with eVC3.0. It
uses ADOCE3.1 to interface with an Access DB (CDB) file. This Access file
transfers to and from my desktop system via ActiveSync 3.8.0. On the
Desktop, I interface with the Access DB (MDB) file via the Microsoft Office
2002 Access program and some VBA code I've written. Also, my desktop
Access file is transferred out to my website where I've written ASP code
that allows users to search my database to see what I have in stock.
All of this works OK. But, there are parts of it that are a pain. For
example, only one copy of my DB can be the 'live' copy at a time. Moving
the 'live' Access DB file to the Desktop causes my desktop's version to
loose its Primary Record Keys and to forget its Relationships. And, as I'm
not the world's best VBA programmer, the tools I've developed on the Desktop
end are a bit rough whereas the stuff I've written on the iPAQ side does
precisely what I want because I've programmed Windows Win32 OOP C++ for
years.
So, this is what I'm thinking:
---------------------------------
(1)
Goal: Replace Access on the PPC side with SQLce.
Assumption: I'll still be able to use ADOCE3.1 to interface with the new
SQLce DB from my current code.
Advantages: I've heard that SQLce is a better tool on the iPAQ.
(2)
Goal: Replace ActiveSync transfers via USB with my own custom
TCP/IP code transfers via 802.11b.
Assumption: None that I know of other than that I'm capable of doing this
(I've done some network programming).
Advantages: With full control over all details of the sync process, I'll be
able to merge DB changes made
on anyone of several PPCs with the desktop DB smoothly.
These syncs will be able to
automatically happen whenever a PPC is within range of
the Desktop's AP. The Desktop version
of the Access DB will stop losing its Primary Record
Keys and forgetting its Relationships because
I'll be updating it record by record in-place rather
than replacing it wholesale with a copy from
the PPC.
(3)
Goal: Cease using the Microsoft Office 2002 Access program and
the VBA tools I've developed to
interface with the DB on the desktop end. Replace
these with a Windows OOP Win32 C++
non-MFC app of my own creation that uses ADO to
interface to the desktop Access DB.
Assumption: None that I know of.
Advantages: This will allow me to interface with the desktop Access file
exactly as I want to.
(4)
Goal: Because I'll be writing a Win32 OOP C++ non-MFC app on the
desktop side, it will be able to
serve both as the sync master coordinator and as my
interface to the desktop version of the DB.
Assumption: None that I know of other than that I'll need to have a good
grip on coding multiple threads
of execution (which I do).
Advantages: A single point of interface on the desktop end customized as I
want.
(5)
Goal: Stay with PPC code development using eVC3.0 rather than
upgrading to later development
environments.
Assumption: That I can do everything I want on the PPC end with my existing
eVC3.0 and ADOCE3.1 tools.
Advantages: I understand this stuff well now and I don't know of anything
in the later development
environments that I really need.
(6)
Goal: Stay with VC++6.0 on the desktop side rather than upgrading
to later development environments.
Assumption: That I can do everything I want on the desktop end using my
existing VC++6.0 tools.
Advantages: I understand this stuff well now and I don't know of anything
in the later development
environments that I really need.
------------------------------------
That's it. There's a lot of parts to this idea and I'm looking for folks
to poke holes in it if they can so I don't have to discover oversights the
hard way later.
Thanks in advance,
Dennis Gallagher
www.woodscreeknursery.com