> I just got an update for tiOPF v2, to make sure I am on the latest code.
> You must use the Lazarus Packages (*.lpk) located at:
> 
>    <tiopf>/Compilers/FPC/tiOPF.lpk
Check, I have revision 1789 of tiOPF.lpk

> The tiTestFramework is not part of the Core tiOPF code and thus not
> included in the tiOPF.lpk package or its search paths. So you need to
> include that path manually to you Project Options. You would also need to
> specify the Include Path so the include file used in tiTestFramework can
> be found. See attached image for what I have done.
Check.

> So your Initialization section needs to look something like this - note
> the added text parameter as the first parameter to RegisterTest().
> 
> 
>   Initialization
>     RegisterTest('MyTests', TPersonTestCase.Suite);
I was able to use tiTestCase like so:
   Initialization
     RegisterTest(TPersonTestCase);  

>> After I added tiQuerySqldbSQLLite3, tiOPFManager to the uses clause:
>>   * Recompiling tiOPFManager, checksum changed for tiQueryCSV {impl}
>>     tiOPFManager.pas(9,11) Fatal: Can't find unit tiOPFManager used by
>> tiQueryCSV
tiOPFManager and tiQueryCSV both had PPUs in my project's output folder. I 
removed them and changed the project options for tiOPF* to rebuild manually.

The next error I got was the compiler couldn't find tiQuerySqldbSQLLite3.  
It was not in the tiOPF package.  I added it and compilation succeeded. 
However, Connection to DB failed so far ...

> I would recommend you add '-dLINK_SQLDB_SQLLite3' to your own projects
> Project Options > Compiler > Other dialog as well. I think this is a bug
> in Lazarus IDE.
I agree Laz is buggy in some areas, but much better in 9.29.  I had wondered 
if this was necessary.
 
> If you are using tiOPF.lpk package, you control the persistence layer with
> compiler defines. Simply uncomment the persistence layour you require and
> recompile the tiOPF.lpk package.

All persistence layers are defined in the packages I have (TiOPF.lpk):
-dLINK_CSV
-dLINK_TAB
-dLINK_FBLx
-dLINK_SQLDB_IB
-dLINK_SQLDB_PQx
-dLINK_SQLDB_Oraclex
-dLINK_SQLDB_SQLLite3x
-dLINK_SQLDB_ODBCx
-dLINK_SQLDB_MySQL40x
-dLINK_SQLDB_MySQL41x
-dLINK_SQLDB_MySQL50x
-dLINK_XMLLIGHT
-dLINK_ZEOS_FB15x
-dUseCThreads
-Xd

I was curious about this when I noticed it in the code (tiDefines).
// Use these defines, along with tiCompileTimeLinkPerLayers.pas to force 
static linking
// at compile time of a persistence layer. These defines must be kept in
// sync with tiCompileTimeLinkPerLayers.pas
// Note: When adding another persistence layer, compiler directive must also
//       be added to tiOPFManager.pas
  
Does this mean the package must be compiled differently for each project if 
projects use different RDBMSs? How would one manage if different RDBMSs were 
used concurrently?


Thank you.
Brian


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
tiOPF-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tiopf-talk

Reply via email to