Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Arthur Barrett wrote: > Wheras if you wanted to call audit.dll the sequence would be something > like this: > // This creates the SessionLog entry > initaudit(NULL, "commit", "2000-11-01 10:42:15", "localhost", > "fred", "/cvsrepo", "d:\cvsrepo", "000001234", NULL, 0, NULL, NULL, > '2.5.04', NULL); Nice idea but those functions aren't exported.. in fact they're defined within a c++ anonymous namespace so they're not even called that.. they'll have some mangled name internally (not sure why at some point they got 'audit' stuck in their name). To call it you need to go via the api (CLibraryAccess) or you can do it manually starting with get_plugin_interface in audit.dll - something like: plugin_interface *p = get_plugin_interface(); p->init(p); trigger_interface *t = p->get_interface(p, pitTrigger, NULL); Then you call as before: t->init(NULL, "commit", "2000-11-01 10:42:15", "localhost", "fred", "/cvsrepo", "d:\cvsrepo", "000001234", NULL, 0, NULL, NULL, '2.5.04', NULL); t->pretag(NULL, "", "/module/directory", 2, {"file1.txt","file2.txt"}, {"1.2","1.3"}, 'T', "", "Rel_1_2_0"); And to close down: t->close(t); p->destroy(p) As that's entirely a C interface it should be possible to reproduce in delphi. Cross platform note.. get_plugin_interface may be renamed by libtool, since on some platforms (eg. HPUX) you can't export functions with the same name from two different ibraries. This won't be an issue provided you use the libtool functions to find the name. Tony