Adrian BY, Hoe wrote: > > I have an Ada package written to interface to a database API which is, I > believe in C/C++. In the main, I have managed attaching the newdb > (db_handle) to an existing database with success! Then, I tried to pass > the newdb (db_handle) as a variable arguments list in function > d_start_transaction. An error was raised by the API stating that invalid > database handle (no active transaction). Under this circumstance, only a > null or invalid db_handle will raise this error. I have try to count the > number of arguments passed using Stdarg.Impl.ArgCount (args). It returns > 3 (in this case was newdb'Unchecked_Access & tpb_length & tpb_address). > Since, there is no reply yet, I would like to add/correct some information. Of, prior to calling the d_start_transaction function, I have called the d_attach_database to obtain the newdb (db_handle) with success. The db_handle has been passed to other functions as well which return expected results. I/we can rule out that the db_handle, newdb, was not assigned properly. In procedure main, correct with ibase; use ibase; to with database; use database; My question is, Is the pointer to db_handle of type PVOID (void *, in C/C++) passed correctly with my implementation: function "&" is new Stdarg.Concat (Pdb_handle); and Stdarg.Empty & newdb'Unchecked_Access & tpb_length & tpb_address in d_start_transaction? Please help! -- BY Hoe byhoe.lexical@technologist.com VP R&D (ES/IS Group) lexical@tm.net.my Lexical Integration (M) Sdn Bhd http://www.angelfire.com/biz/Lexical