Hi
How can I catch event when reference model is detached?
Thanks in advance for any help.
you can use the mdlSystem_setFunction like this:
mdlSystem_setFunction (SYSTEM_REFERENCE_DETACH, asynRefDetach);
mdlSystem_setFunction (SYSTEM_REFERENCE_DETACHED, asynRefDetached);
/*----------------------------------------------------------------------+
| |
| name asynRefDetach |
| author BSI 12/01 |
+----------------------------------------------------------------------*/
Private int asynRefDetach
(
DgnModelRefP modelRef
)
{
char fileName[MAXFILELENGTH];
/* Called when a reference is about to be detached. */
mdlModelRef_getFileName (modelRef, fileName, MAXNAMELENGTH);
printf ("FILE is ABOUT to be detached %s\n", fileName);
return SUCCESS;
}
| name asynRefDetached |
Private void asynRefDetached
DgnModelRefP modelRef, /* => */
char *fullFileSpec, /* => */
int reason /* => */
char attachReason[32];
/* Called right before the reference file modelRef is discarded. */
switch (reason)
case SYSTEM_REFDETACHED_DETACHED:
strcpy (attachReason, "SYSTEM_REFDETACHED_DETACHED");
break;
case SYSTEM_REFDETACHED_UNDONEATTACH:
strcpy (attachReason, "SYSTEM_REFDETACHED_UNDONEATTACH");
case SYSTEM_REFDETACHED_REDONEDETACH:
strcpy (attachReason, "SYSTEM_REFDETACHED_REDONEDETACH");
case SYSTEM_REFDETACHED_MODELDELETED:
strcpy (attachReason, "SYSTEM_REFDETACHED_MODELDELETED");
case SYSTEM_REFDETACHED_RELOADED:
strcpy (attachReason, "SYSTEM_REFDETACHED_RELOADED");
default:
strcpy (attachReason, "UNKNOWN");
printf ("DETACHED\t%s %s\n", attachReason, fileName);
HTH,
mark anderson [Bentley]
Visit me at https://communities.bentley.com/communities/other_communities/bentley_innovation/default.aspx
Many thanks Mark!
This works perfect.
This works perfect