Introducción a la negrita dcom

Introducción a la negrita dcom


Un paso-por-paso pie a través de la separación de la lógica de negocios a otro servidor utilizando NEGRITA DCOM con una base de datos Interbase.

Este artículo fue compilado a partir de los registros de un chat en internet (IRC) con Eric Holton. Me gustaría dar las gracias a Eric por pasar tanto tiempo detallando los pasos que se encarga. Eric ha acordado que me permita convertir los registros de nuestra conversación en este artículo para el beneficio de los demás.



El servidor


  1. Crear una nueva aplicación con un formulario y un datamodule.

  2. Nombre del módulo dmServer, y la forma principal de fmServerMain.

  3. Guarde el formulario como ServerMainForm.pas, el módulo como ServerModule.pas, y el proyecto como ServerApp.El DPR

  4. De la [Negrita Asas] ficha añadir un TBoldModel (mbModel), TBoldSystemTypeInfoHandle (ihModelInfo), TBoldSystemHandle (shMainHandle), y un TBoldPersistenceHandleIB (phInterbase).

  5. En el inspector de objeto establecer las siguientes propiedades:

    & nbsp & nbsp

    & nbsp & nbsp phInterbase

    & nbsp & nbsp & nbsp & nbsp DatabaseName = existente en un archivo GDB para ser reemplazado.

    & nbsp & nbsp & nbsp & nbsp BoldModel = bmModel

    & nbsp & nbsp & nbsp & nbsp DatabaseEngine = dbeInterbaseSQLDialect3



    & nbsp & nbsp shMainHandle

    & nbsp & nbsp & nbsp & nbsp SystemTypeInfoHandle = ihModelInfo

    & nbsp & nbsp & nbsp & nbsp PersistenceHandle = phInterbase

    & nbsp & nbsp & nbsp & nbsp IsDefault = True

    & nbsp & nbsp & nbsp & nbsp AutoActivate = True



    & nbsp & nbsp ihModelInfo

    & nbsp & nbsp & nbsp & nbsp BoldModel = bmModel

    & nbsp & nbsp


    & nbsp & nbsp BoldDCOM01.gif



  6. En el OnDestroy de la datamodule incluir el siguiente código

    & nbsp & nbsp

    & nbsp & nbsp si se ha Asignado(shMainHandle.Sistema), entonces

    & nbsp & nbsp & nbsp & nbsp con shMainHandle.Sistema

    & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si BoldDirty luego Descartar


    & nbsp & nbsp

  7. haga Doble clic en el modelo para abrir el editor del modelo, y hacer lo siguiente:

    1. Cambiar el 'Nombre' y 'nombre de la Unidad' de BusinessClasses a DCOMTestClasses

    2. Cambio de Modelo 'clase raíz' de BusinessClassesRoot a DCOMTestClassesRoot

    3. Agregar una nueva clase llamada Persona con un solo atributo 'nombre'

    4. menú Herramientas, Generar base de datos

    5. menú Herramientas, Generar código - guardar los archivos resultantes con sus nombres predeterminados

    6. menú Herramientas, Generar COM/IDL Guid (decir SÍ a 'Mantener existente Guid?')

    7. menú Herramientas, Generar Delphi compatible IDL - guardar los resultados de los archivos con sus nombres predeterminados

    8. Guardar el modelo, y, a continuación, cierre el editor del modelo


    9. & nbsp & nbsp & nbsp & nbsp


  8. menú Archivo, Nuevo, [ActiveX] ficha 'Tipo de biblioteca' y hacer lo siguiente:

    1. haga Clic en el [Usa] ficha

    2. haga clic Derecho y seleccione 'Mostrar Todo Tipo de Bibliotecas'

    3. Marque 'Negrita ObjectSpace Tipo de Biblioteca'

    4. haga clic Derecho y seleccione 'Mostrar seleccionado'

    5. Abrir el archivo DCOMTesterClasses.IDL

    6. Seleccionar todo el texto y copiarlo en el portapapeles

    7. haga Clic en el [Texto] ficha en la TLB editor

    8. Sustituir todo el texto con el texto en el portapapeles

    9. haga Clic en 'Actualización de la aplicación'

    10. CTRL S y guardar la TLB como el nombre predeterminado (ProjectName.TLB)


    11. & nbsp & nbsp & nbsp & nbsp



    & nbsp & nbsp


  9. De la [Negrita COM] ficha caída de los siguientes componentes en el módulo de servidor TBoldCOMServerHandle (cshServerHandle) y un TBoldComServerElementHandle (cseElementHandle) y establezca las siguientes propiedades:

    & nbsp & nbsp

    & nbsp & nbsp cseElementHandle

    & nbsp & nbsp & nbsp & nbsp BoldHandle = shMainHandle

    & nbsp & nbsp & nbsp & nbsp ServerHandle = cshServerHandle


    & nbsp & nbsp

  10. haga Doble clic en cshServerHandle y generar código, guarde este archivo como DCOMTestServerCode.pas



  11. Copia el GUID de DCOMTestServerCode en el portapapeles

  12. Guardar y ejecutar la aplicación, todo debe estar bien.





Cliente


  1. Registrar el servidor del archivo TLB utilizando RegSvr32 o TRegSvr (borland/delphi/bin).

  2. Crear una nueva aplicación con un formulario y un datamodule (el formulario debe 'Utilizar' el módulo).

  3. Nombre del módulo dmClient, y la forma principal de fmClientMain.

  4. Guarde el formulario como ClientMainForm.pas, el módulo como ClientModule.pas, y el proyecto como ClientApp.El DPR

  5. De la [Negrita COM] ficha añadir un TBoldCOMConnectionHandle (chCOMConnection), y un TBoldSystemHandleCom (shMainHandle) establezca las siguientes propiedades

    & nbsp & nbsp

    & nbsp & nbsp chCOMConnection

    & nbsp & nbsp & nbsp & nbsp ServerCLSID = el GUID de DCOMTestServerCode.pas (La propiedad ServerName debe alterar de forma automática)

    & nbsp & nbsp & nbsp & nbsp Autoconexión = True



    & nbsp & nbsp shMainHandle

    & nbsp & nbsp & nbsp & nbsp ConnectionHandle = chCOMConnection

    & nbsp & nbsp & nbsp & nbsp IsDefault = TRUE

    & nbsp & nbsp & nbsp & nbsp Nombreobjeto = (Mismo como ObjectName de cseElementHandle en el servidor)


    & nbsp & nbsp

  6. De la [Negrita COM Controla] ficha caída de un TBoldListHandleCom (blhPerson) en el formulario principal, set

    & nbsp & nbsp

    & nbsp & nbsp ConnectionHandle = dmClient.chCOMConnection

    & nbsp & nbsp Expresión = 'Persona.allInstances'

    & nbsp & nbsp RootHandle = dmClient.shMainHandle


    & nbsp & nbsp

  7. De la [Negrita Controles COM] ficha caída de un TBoldGridCom y un TBoldNavigatorCom en el formulario principal y el conjunto de la BoldHandle propiedad de ambos a blhPerson.

  8. Haga clic BoldGridCOM1 y seleccione 'Editar columnas' establecer la Expresión de la propiedad de la segunda columna 'nombre'.

  9. Agregue un botón al formulario con el siguiente código adjunto

    & nbsp & nbsp

    & nbsp & nbsp dmClient.shMainHandle.Sistema.UpdateDatabase


    & nbsp & nbsp





la aplicación debe funcionar ahora.

& nbsp







Introduccion a la negrita dcom


Introduccion a la negrita dcom : Multi-millones de consejos para hacer su vida mas facil.


Un paso-por-paso pie a traves de la separacion de la logica de negocios a otro servidor utilizando NEGRITA DCOM con una base de datos Interbase.

Este articulo fue compilado a partir de los registros de un chat en internet (IRC) con Eric Holton. Me gustaria dar las gracias a Eric por pasar tanto tiempo detallando los pasos que se encarga. Eric ha acordado que me permita convertir los registros de nuestra conversacion en este articulo para el beneficio de los demas.



El servidor


  1. Crear una nueva aplicacion con un formulario y un datamodule.

  2. Nombre del modulo dmServer, y la forma principal de fmServerMain.

  3. Guarde el formulario como ServerMainForm.pas, el modulo como ServerModule.pas, y el proyecto como ServerApp.El DPR

  4. De la [Negrita Asas] ficha añadir un TBoldModel (mbModel), TBoldSystemTypeInfoHandle (ihModelInfo), TBoldSystemHandle (shMainHandle), y un TBoldPersistenceHandleIB (phInterbase).

  5. En el inspector de objeto establecer las siguientes propiedades:

    & nbsp & nbsp

    & nbsp & nbsp phInterbase

    & nbsp & nbsp & nbsp & nbsp DatabaseName = existente en un archivo GDB para ser reemplazado.

    & nbsp & nbsp & nbsp & nbsp BoldModel = bmModel

    & nbsp & nbsp & nbsp & nbsp DatabaseEngine = dbeInterbaseSQLDialect3



    & nbsp & nbsp shMainHandle

    & nbsp & nbsp & nbsp & nbsp SystemTypeInfoHandle = ihModelInfo

    & nbsp & nbsp & nbsp & nbsp PersistenceHandle = phInterbase

    & nbsp & nbsp & nbsp & nbsp IsDefault = True

    & nbsp & nbsp & nbsp & nbsp AutoActivate = True



    & nbsp & nbsp ihModelInfo

    & nbsp & nbsp & nbsp & nbsp BoldModel = bmModel

    & nbsp & nbsp


    & nbsp & nbsp BoldDCOM01.gif



  6. En el OnDestroy de la datamodule incluir el siguiente codigo

    & nbsp & nbsp

    & nbsp & nbsp si se ha Asignado(shMainHandle.Sistema), entonces

    & nbsp & nbsp & nbsp & nbsp con shMainHandle.Sistema

    & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si BoldDirty luego Descartar


    & nbsp & nbsp

  7. haga Doble clic en el modelo para abrir el editor del modelo, y hacer lo siguiente:

    1. Cambiar el 'Nombre' y 'nombre de la Unidad' de BusinessClasses a DCOMTestClasses

    2. Cambio de Modelo 'clase raiz' de BusinessClassesRoot a DCOMTestClassesRoot

    3. Agregar una nueva clase llamada Persona con un solo atributo 'nombre'

    4. menu Herramientas, Generar base de datos

    5. menu Herramientas, Generar codigo - guardar los archivos resultantes con sus nombres predeterminados

    6. menu Herramientas, Generar COM/IDL Guid (decir SI a 'Mantener existente Guid?')

    7. menu Herramientas, Generar Delphi compatible IDL - guardar los resultados de los archivos con sus nombres predeterminados

    8. Guardar el modelo, y, a continuacion, cierre el editor del modelo


    9. & nbsp & nbsp & nbsp & nbsp


  8. menu Archivo, Nuevo, [ActiveX] ficha 'Tipo de biblioteca' y hacer lo siguiente:

    1. haga Clic en el [Usa] ficha

    2. haga clic Derecho y seleccione 'Mostrar Todo Tipo de Bibliotecas'

    3. Marque 'Negrita ObjectSpace Tipo de Biblioteca'

    4. haga clic Derecho y seleccione 'Mostrar seleccionado'

    5. Abrir el archivo DCOMTesterClasses.IDL

    6. Seleccionar todo el texto y copiarlo en el portapapeles

    7. haga Clic en el [Texto] ficha en la TLB editor

    8. Sustituir todo el texto con el texto en el portapapeles

    9. haga Clic en 'Actualizacion de la aplicacion'

    10. CTRL S y guardar la TLB como el nombre predeterminado (ProjectName.TLB)


    11. & nbsp & nbsp & nbsp & nbsp



    & nbsp & nbsp


  9. De la [Negrita COM] ficha caida de los siguientes componentes en el modulo de servidor TBoldCOMServerHandle (cshServerHandle) y un TBoldComServerElementHandle (cseElementHandle) y establezca las siguientes propiedades:

    & nbsp & nbsp

    & nbsp & nbsp cseElementHandle

    & nbsp & nbsp & nbsp & nbsp BoldHandle = shMainHandle

    & nbsp & nbsp & nbsp & nbsp ServerHandle = cshServerHandle


    & nbsp & nbsp

  10. haga Doble clic en cshServerHandle y generar codigo, guarde este archivo como DCOMTestServerCode.pas



  11. Copia el GUID de DCOMTestServerCode en el portapapeles

  12. Guardar y ejecutar la aplicacion, todo debe estar bien.





Cliente


  1. Registrar el servidor del archivo TLB utilizando RegSvr32 o TRegSvr (borland/delphi/bin).

  2. Crear una nueva aplicacion con un formulario y un datamodule (el formulario debe 'Utilizar' el modulo).

  3. Nombre del modulo dmClient, y la forma principal de fmClientMain.

  4. Guarde el formulario como ClientMainForm.pas, el modulo como ClientModule.pas, y el proyecto como ClientApp.El DPR

  5. De la [Negrita COM] ficha añadir un TBoldCOMConnectionHandle (chCOMConnection), y un TBoldSystemHandleCom (shMainHandle) establezca las siguientes propiedades

    & nbsp & nbsp

    & nbsp & nbsp chCOMConnection

    & nbsp & nbsp & nbsp & nbsp ServerCLSID = el GUID de DCOMTestServerCode.pas (La propiedad ServerName debe alterar de forma automatica)

    & nbsp & nbsp & nbsp & nbsp Autoconexion = True



    & nbsp & nbsp shMainHandle

    & nbsp & nbsp & nbsp & nbsp ConnectionHandle = chCOMConnection

    & nbsp & nbsp & nbsp & nbsp IsDefault = TRUE

    & nbsp & nbsp & nbsp & nbsp Nombreobjeto = (Mismo como ObjectName de cseElementHandle en el servidor)


    & nbsp & nbsp

  6. De la [Negrita COM Controla] ficha caida de un TBoldListHandleCom (blhPerson) en el formulario principal, set

    & nbsp & nbsp

    & nbsp & nbsp ConnectionHandle = dmClient.chCOMConnection

    & nbsp & nbsp Expresion = 'Persona.allInstances'

    & nbsp & nbsp RootHandle = dmClient.shMainHandle


    & nbsp & nbsp

  7. De la [Negrita Controles COM] ficha caida de un TBoldGridCom y un TBoldNavigatorCom en el formulario principal y el conjunto de la BoldHandle propiedad de ambos a blhPerson.

  8. Haga clic BoldGridCOM1 y seleccione 'Editar columnas' establecer la Expresion de la propiedad de la segunda columna 'nombre'.

  9. Agregue un boton al formulario con el siguiente codigo adjunto

    & nbsp & nbsp

    & nbsp & nbsp dmClient.shMainHandle.Sistema.UpdateDatabase


    & nbsp & nbsp





la aplicacion debe funcionar ahora.

& nbsp

Introducción a la negrita dcom

Introducción a la negrita dcom : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación