Documentation
Now that you have gotten a basic single form and database table package running in single user mode, it is worth thinking about where to go from here. There are a couple of steps that come next:
- Loading other forms
- Changing to a multi-user system
Loading other forms turns out to be fairly easy. The basic call is appw.openformdirect("myform.sxf").
The framework takes care of the rest. It is a good idea to open all the required database tables during
initialization of the application and ensure they are part of the appwindow object.
Changing to a multi-user system is a bit more complicated. First the database tables need to be opened and
shared using a PPCS server. A sample server is included with SIMPOL Professional™. It is located in the
SIMPOL\Utilities\simpolserver directory. Also in that directory is
a file called readme.txt. That file discusses everything necessary to share the database
files via PPCS. Once the files are shared, the remaining change that is required is to open them using
a PPCS data source.
if bUSEPPCS
me.ppcs =@ ppcstype1.new(udpport=.nul, error=e)
if me.ppcs =@= .nul
wxmessagedialog(appw.w, "Error starting PPCS", sAPPMSGTITLE, \
"ok", "error")
else
src =@ me.opendatasource("ppcstype1", "127.0.0.1:4000", appw, \
error=e)
if src =@= .nul
wxmessagedialog(appw.w, "Error opening the PPCS server", \
sAPPMSGTITLE, "ok", "error")
end if
end if
else
src =@ me.opendatasource("sbme1", "address.sbm", appw, error=e)
if src =@= .nul
wxmessagedialog(appw.w, "Error opening the address.sbm file", \
sAPPMSGTITLE, "ok", "error")
end if
end if
if src !@= .nul
t =@ appw.opendatatable(src, "Address", error=e)
if t =@= .nul
wxmessagedialog(appw.w, "Error opening the 'Address' table", \
sAPPMSGTITLE, "ok", "error")
else
me.address =@ t
ok = .true
end if
end if
The above program listing assumes that a boolean constant called bUSEPPCS has been
defined earlier in the program. That is all that is required to switch the program to run as a multiple user
system, other than a fully licensed database engine, though the 3-user license that is provided with
SIMPOL Professional™ for testing should be sufficient while doing development.



