I must first say, I am new to conduit development, and thanks to you it has
been pretty painless. I appreciate you giving back to the Delphi community
by providing an open source solution.
I ran across a problem when dumping my Address Book to a database, that I
get what your framework encounters an empty record, with a valid record
number. According to your Database viewer project, the last record has
Attributes of $C0 (ecRecAttrDeleted, eRecAttrDirty). The record size is 0
and FRecordEmpty is True, but nothing is publicly exposed on the
TpfgPalmRemoteTable to determine the current record attributes, or
recordSize or if FRecordEmpty is True. TpfgPalmTable.GetRecordFlags is
protected and not surfaced in TpfgPalmRemoteTable.
TpfgPalmRemoteTable.GetIsEmpty should likely be renamed to IsRecordEmpty so
it cannot be confused with whether the table is empty, but it is also not
public.
To solve this problem, I added a public property in TpfgPalmRemoteTable:
property IsRecEmpty :boolean read GetIsEmpty;
and then in my OnBeforeRecChange (Shouldn't this be called OnBeforeScroll
like the TDataSet?) handler where I write the palm record to a RDBMS, I
check the property IsRecEmpty before I attempt to access the Palm record.
Works great...
BTW, have you thought about possibly using domain objects to read records
from the PalmDB? Something like a TDateBookv6 object that knows the date
format used in that version of the DateBook. Then you could use a class
registry system where the user could just select the class they want to use
to parse the datebook and the RemoteRecordToLocal could delegate the record
parsing to the object.
Paul Gilbert
table component
None
Public
|
Date: 2008-07-27 10:35
|
| Field | Old Value | Date | By |
|---|---|---|---|
| status_id | Open | 2008-07-27 10:36 | dreammaster |
| resolution_id | None | 2008-07-27 10:36 | dreammaster |
| close_date | - | 2008-07-27 10:36 | dreammaster |