5 votos

ArcObjects Extensión de la Clase de núcleo de eventos no ser despedido por una herramienta de edición

Creo que me acabo de golpear a una de las principales limitaciones con la forma de ArcMap (10) se ocupa de la clase de extensiones en una Clase de entidad, pero primero quisiera asegurarse de que no estoy perdiendo algo o ver un error.

Tengo una extensión de la clase registrada con una clase de entidad y la extensión crea un identificador único para cada característica nueva que se crea - escucha la IObjectClassEvents.Evento OnCreate. Este evento se desencadena y controlar cada vez que una función se crea dentro de una sesión de edición mediante la opción 'Crear Cuenta' de la plantilla. Similiarly, si selecciono una de las más características, a continuación, Ctrl+c Ctrl+v en el evento OnCreate es despedido por cada característica y se asigna un nuevo IDENTIFICADOR, en lugar de una copia de la edad, de un Grande!

Sin embargo, si utilizo la Edición Avanzada de Copia de Características de la herramienta de eventos se dispararon a todos, incluso a pesar de que las nuevas características se crean. Tal vez esta herramienta Copiar entidades utiliza una secuencia de comandos de python o algo y por lo tanto no se administra de la misma manera? No sé, pero pensé que era la geodatabase que lanzó el evento OnCreate así que no importa cómo la característica es creado.

¿Alguien puede decirme por qué ninguno de los IObjectClassEvents eventos se activan en este caso? Estoy pensando en mirar en desagradable soluciones (como un comando agregar-en el que escucha para editar los eventos cuando está activado) pero 1) realmente me gustaría más bien no, y 2) yo podría acabar con exactamente el mismo problema.

Por último, sé que hay otras opciones que una extensión de la clase para lo que estoy haciendo, pero con el fin de cumplir con todas las de la herramienta de requisitos que no puedo usar un editor de extensión.

Cualquier ayuda muy apreciada.

4voto

FlySwat Puntos 61945

Es por-que pasa Almacén de Objetos() de la conducta. Una "rápida" (ok, riendo un poco) vista de la GeoDatabase Modelo de Objetos revela que opcionalmente se puede implementar IObjectClassInfo2. tratar de implementar y devolver FALSE para el CanByPassStoreMethod.

2voto

Brian G Puntos 8580

Funciones de copia utiliza un inserte el cursor a "almacenar" es el resultado y, por tanto, no fuego OnCreateFeature.

Echa un vistazo a el siguiente tema de ayuda y siga los consejos de la Función de los eventos y los cursores " título si desea escuchar a ese evento cuando se utiliza CopyFeatures.

Respondiendo a la función o fila ediciones

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X