Введение в смелые модели dcom

Введение в смелые модели dcom


шаг за шагом пройти через отделения бизнес-логики на другой сервер, используя смелые модели dcom с базой данных InterBase.

эта статья была скомпилирована из журналов интернет-чаты (IRC) с Эрик Холтон. Я хотел бы поблагодарить Эрика за тратить так много времени с подробным описанием профессиональней шагов. Эрик согласился позволить мне конвертировать логи нашего разговора в этой статье на благо других<.бр />


<у>сервер
и<р класса="step_content ">


  1. создайте новое приложение с форма и datamodule.
  2. <р класса="step_content ">
    и<р класса="step_content ">
  3. если имя dmServer модуль, а главная форма fmServerMain.
  4. <р класса="step_content ">
    и<р класса="step_content ">
  5. сохранить форму как ServerMainForm.па, модуль как ServerModule.пас, и проект как ServerApp.ДНР
  6. <р класса="step_content ">
    и<р класса="step_content ">
  7. в [жирный ручки] вкладке добавить TBoldModel (mbModel), TBoldSystemTypeInfoHandle (ihModelInfo), TBoldSystemHandle (shMainHandle), и TBoldPersistenceHandleIB (phInterbase).
  8. <р класса="step_content ">
    и<р класса="step_content ">
  9. в инспекторе объектов установите следующие свойства:

    & евро & евро <я>

    & евро & евро phInterbase

    & евро & евро & евро & евро Имя_базы_данных = существующий gdb файл в замене.

    & евро & евро & евро & евро BoldModel = bmModel

    & евро & евро & евро & мочекаменная баз данных = dbeInterbaseSQLDialect3



    & евро & евро shMainHandle

    & евро & евро & евро & евро SystemTypeInfoHandle = ihModelInfo

    & евро & евро & евро & евро PersistenceHandle = phInterbase
    В в
    & евро & евро & евро & евро атрибут isdefault = истина

    & евро & евро & евро & евро Автоактивация = истина



    & евро & евро ihModelInfo

    & евро & евро & евро & евро BoldModel = bmModel

    & евро & евро

    & и nbsp & мочекаменная BoldDCOM01.gif
  10. <р класса="step_content ">


    <р класса="step_content ">
  11. на OnDestroy из datamodule включите следующий код

    & евро & евро <я>

    & фитоэстрогены & фитоэстрогены при назначении(shMainHandle.Системы), то

    & евро & евро & евро & евро с shMainHandle.Системы

    & евро & евро & евро & евро & евро & евро если BoldDirty затем сбросьте

    & евро & евро
  12. <р класса="step_content ">
    и<р класса="step_content ">
  13. двойной Клик на модели, чтобы вызвать редактор моделей, и сделать следующее:

    1. менять "имя" и "название" из BusinessClasses в DCOMTestClasses
    2. <р класса="step_content ">
      и<р класса="step_content ">
    3. изменить модель "корневой класс" от BusinessClassesRoot в DCOMTestClassesRoot
    4. <р класса="step_content ">
      и<р класса="step_content ">
    5. добавить новый класс Person с одним атрибутом "имя"
    6. <р класса="step_content ">
      и<р класса="step_content ">
    7. в меню "Сервис", сформировать базу данных
    8. <р класса="step_content ">
      и<р класса="step_content ">
    9. в меню Сервис Генерировать код - сохранить полученные файлы по умолчанию имена
    10. <р класса="step_content ">
      и<р класса="step_content ">
    11. в меню Сервис создания com idl или идентификаторы GUID (сказать "да", чтобы "сохранить существующие идентификаторы GUID?")
    12. <р класса="step_content ">
      и<р класса="step_content ">
    13. в меню Инструменты, создать в Delphi совместимое ИДЛ - сохранение файлов результатов с их по умолчанию имена
    14. <р класса="step_content ">
      и<р класса="step_content ">
    15. сохранить модель, а затем закройте редактор моделей
    16. <р класса="step_content ">

      & евро & евро & евро & евро

      <р класса="step_content ">
      и<р класса="step_content ">
    17. файл меню, новые [элементы ActiveX] вкладке "Тип библиотеки" и выполните следующие действия:

      1. нажмите на [используется] вкладка
      2. <р класса="step_content ">
        и<р класса="step_content ">
      3. щелкните правой кнопкой мыши и выберите "Показать все тип библиотеки"
      4. <р класса="step_content ">
        и<р класса="step_content ">
      5. если галочки "жирный Тип пространства имен библиотеки"
      6. <класс p="step_content ">
        и<р класса="step_content ">
      7. щелкните правой кнопкой мыши и выберите "Показать выбранные"
      8. <р класса="step_content ">
        и<р класса="step_content ">
      9. открыть файл DCOMTesterClasses.ИДЛ
      10. <див класс='embed_block_0'> <див ИД="блок-google_admanager-1" класса="блок блок-google_admanager области-другие области-количество-1 Количество-1 блок-Без названия "> <див класс="блок-топ"> <див класс="блок-внутренний"> <див класс="содержание"> <див класс="блок-дна"> <див класс='embed_block_1'><див>


        и<р класса="step_content ">

      11. если выделить весь текст и скопировать его в буфер обмена
      12. <р класса="step_content ">
        и в

        <класс p="step_content ">
      13. нажмите на [текст] на вкладке загрузки редактора
      14. <р класса="step_content ">
        и<р класса="step_content ">
      15. если заменить весь текст с текстом в буфер обмена
      16. <р класса="step_content ">
        и<р класса="step_content ">
      17. нажмите "обновить реализации"
      18. <класс p="step_content ">
        и<р класса="step_content ">
      19. клавишу CTRL S и сохраните tlb как имя по умолчанию (Имя_проекта.ТЛБ)
      20. <р класса="step_content ">

        & евро & евро & евро & евро

        <р класса="step_content ">

        & евро & евро <р класса="step_content ">
        и<р класса="step_content ">
      21. в [Вкладка жирный СОМ] брось следующие компоненты на серверной TBoldCOMServerHandle (cshServerHandle) и TBoldComServerElementHandle (cseElementHandle) и задайте следующие свойства:

        & евро & евро <я>

        & евро & евро cseElementHandle

        & евро & евро & евро & евро BoldHandle = shMainHandle

        & евро & евро & евро & евро ServerHandle = cshServerHandle

        & евро & евро
      22. <р класса="step_content ">
        и<р класса="step_content ">
      23. дважды щелкните cshServerHandle и генерировать код, сохраните этот файл как DCOMTestServerCode.па
      24. <р класса="step_content ">


        <р класса="step_content ">
      25. если скопировать GUID из DCOMTestServerCode в буфер обмена
      26. <р класса="step_content ">
        и<р класса="step_content ">
      27. сохранить и запустить приложение, все должно быть хорошо.
      28. <р класса="step_content ">
        и<р класса="step_content ">

        <р класса="step_content ">



        <у>клиента
        и<р класса="step_content ">

        1. Зарегистрировать tlb файл сервера с помощью regsvr32 или TRegSvr (от Borland\Delphi в папке\bin).
        2. <р класса="step_content ">
          и<р класса="step_content ">
        3. если создать новое приложение с форма и datamodule (форма должна "использовать" модуль).
        4. <р класса="step_content ">
          и<р класса="step_content ">
        5. если имя модуля dmClient, а основной формой fmClientMain.
        6. <р класса="step_content ">
          и<р класса="step_content ">
        7. сохранить форму как ClientMainForm.па, модуль как ClientModule.пас, и проект как ClientApp.ДНР
        8. <р класса="step_content ">
          и<р класса="step_content ">
        9. в [жирный СОМ] вкладке добавить TBoldCOMConnectionHandle (chCOMConnection), и TBoldSystemHandleCom (shMainHandle) задайте следующие свойства

          & евро & евро <я>

          & покупка & покупка chCOMConnection

          & евро & евро & евро & евро ServerCLSID = GUID из DCOMTestServerCode.ССА (свойство servername должно автоматически изменить)

          & евро & евро & евро & евро Автосоединение = истина



          & евро & евро shMainHandle

          & евро & евро & евро & евро ConnectionHandle = chCOMConnection

          & евро & евро & евро & евро атрибут isdefault = истина

          & евро & евро & евро & евро Имя_объекта = (Так же, как имя объекта из cseElementHandle на сервере)

          & евро & евро
        10. <р класса="step_content ">
          и<р класса="step_content ">
        11. в [жирный ком ручками] вкладка бросить TBoldListHandleCom (blhPerson) на главной форме установить

          и & евро & евро <я>

          & покупка & покупка ConnectionHandle = dmClient.chCOMConnection

          & мочекаменная & выражение мочекаменная = 'человек.allInstances'

          & фитоэстрогены & мочекаменная RootHandle = dmClient.shMainHandle

          & евро & евро
        12. <р класса="step_content ">
          и<р класса="step_content ">
        13. в [полужирный элементы управления com] вкладка бросить TBoldGridCom и TBoldNavigatorCom на главную форму и установить BoldHandle собственность как blhPerson.
        14. <р класса="step_content ">
          и<р класса="step_content ">
        15. правой кнопкой мыши BoldGridCOM1 и выберите "Правка столбцов" задайте выражение свойства второго столбца "имя".
        16. <р класса="step_content ">
          и<р класса="step_content ">
        17. Добавить в форму кнопку со следующим кодом прилагается

          & евро & евро <я>

          & евро & евро dmClient.shMainHandle.Системы.UpdateDatabase

          & евро & евро
        18. <р класса="step_content ">
          и<р класса="step_content ">

          <р класса="step_content ">



          приложение должно теперь работать.
          и<дел стиль= \ ясно:оба поплавка:нет'><дел стиль= \ ясно:оба поплавка:нет'> & мочекаменная







Введение в смелые модели dcom


Введение в смелые модели dcom : Несколько тысяч советов, которые сделают вашу жизнь проще.


шаг за шагом пройти через отделения бизнес-логики на другой сервер, используя смелые модели dcom с базой данных InterBase.

эта статья была скомпилирована из журналов интернет-чаты (IRC) с Эрик Холтон. Я хотел бы поблагодарить Эрика за тратить так много времени с подробным описанием профессиональней шагов. Эрик согласился позволить мне конвертировать логи нашего разговора в этой статье на благо других<.бр />


<у>сервер
и<р класса="step_content ">


  1. создайте новое приложение с форма и datamodule.
  2. <р класса="step_content ">
    и<р класса="step_content ">
  3. если имя dmServer модуль, а главная форма fmServerMain.
  4. <р класса="step_content ">
    и<р класса="step_content ">
  5. сохранить форму как ServerMainForm.па, модуль как ServerModule.пас, и проект как ServerApp.ДНР
  6. <р класса="step_content ">
    и<р класса="step_content ">
  7. в [жирный ручки] вкладке добавить TBoldModel (mbModel), TBoldSystemTypeInfoHandle (ihModelInfo), TBoldSystemHandle (shMainHandle), и TBoldPersistenceHandleIB (phInterbase).
  8. <р класса="step_content ">
    и<р класса="step_content ">
  9. в инспекторе объектов установите следующие свойства:

    & евро & евро <я>

    & евро & евро phInterbase

    & евро & евро & евро & евро Имя_базы_данных = существующий gdb файл в замене.

    & евро & евро & евро & евро BoldModel = bmModel

    & евро & евро & евро & мочекаменная баз данных = dbeInterbaseSQLDialect3



    & евро & евро shMainHandle

    & евро & евро & евро & евро SystemTypeInfoHandle = ihModelInfo

    & евро & евро & евро & евро PersistenceHandle = phInterbase
    В в
    & евро & евро & евро & евро атрибут isdefault = истина

    & евро & евро & евро & евро Автоактивация = истина



    & евро & евро ihModelInfo

    & евро & евро & евро & евро BoldModel = bmModel

    & евро & евро

    & и nbsp & мочекаменная BoldDCOM01.gif
  10. <р класса="step_content ">


    <р класса="step_content ">
  11. на OnDestroy из datamodule включите следующий код

    & евро & евро <я>

    & фитоэстрогены & фитоэстрогены при назначении(shMainHandle.Системы), то

    & евро & евро & евро & евро с shMainHandle.Системы

    & евро & евро & евро & евро & евро & евро если BoldDirty затем сбросьте

    & евро & евро
  12. <р класса="step_content ">
    и<р класса="step_content ">
  13. двойной Клик на модели, чтобы вызвать редактор моделей, и сделать следующее:

    1. менять "имя" и "название" из BusinessClasses в DCOMTestClasses
    2. <р класса="step_content ">
      и<р класса="step_content ">
    3. изменить модель "корневой класс" от BusinessClassesRoot в DCOMTestClassesRoot
    4. <р класса="step_content ">
      и<р класса="step_content ">
    5. добавить новый класс Person с одним атрибутом "имя"
    6. <р класса="step_content ">
      и<р класса="step_content ">
    7. в меню "Сервис", сформировать базу данных
    8. <р класса="step_content ">
      и<р класса="step_content ">
    9. в меню Сервис Генерировать код - сохранить полученные файлы по умолчанию имена
    10. <р класса="step_content ">
      и<р класса="step_content ">
    11. в меню Сервис создания com idl или идентификаторы GUID (сказать "да", чтобы "сохранить существующие идентификаторы GUID?")
    12. <р класса="step_content ">
      и<р класса="step_content ">
    13. в меню Инструменты, создать в Delphi совместимое ИДЛ - сохранение файлов результатов с их по умолчанию имена
    14. <р класса="step_content ">
      и<р класса="step_content ">
    15. сохранить модель, а затем закройте редактор моделей
    16. <р класса="step_content ">

      & евро & евро & евро & евро

      <р класса="step_content ">
      и<р класса="step_content ">
    17. файл меню, новые [элементы ActiveX] вкладке "Тип библиотеки" и выполните следующие действия:

      1. нажмите на [используется] вкладка
      2. <р класса="step_content ">
        и<р класса="step_content ">
      3. щелкните правой кнопкой мыши и выберите "Показать все тип библиотеки"
      4. <р класса="step_content ">
        и<р класса="step_content ">
      5. если галочки "жирный Тип пространства имен библиотеки"
      6. <класс p="step_content ">
        и<р класса="step_content ">
      7. щелкните правой кнопкой мыши и выберите "Показать выбранные"
      8. <р класса="step_content ">
        и<р класса="step_content ">
      9. открыть файл DCOMTesterClasses.ИДЛ
      10. <див класс='embed_block_0'> <див ИД="блок-google_admanager-1" класса="блок блок-google_admanager области-другие области-количество-1 Количество-1 блок-Без названия "> <див класс="блок-топ"> <див класс="блок-внутренний"> <див класс="содержание"> <див класс="блок-дна"> <див класс='embed_block_1'><див>


        и<р класса="step_content ">

      11. если выделить весь текст и скопировать его в буфер обмена
      12. <р класса="step_content ">
        и в

        <класс p="step_content ">
      13. нажмите на [текст] на вкладке загрузки редактора
      14. <р класса="step_content ">
        и<р класса="step_content ">
      15. если заменить весь текст с текстом в буфер обмена
      16. <р класса="step_content ">
        и<р класса="step_content ">
      17. нажмите "обновить реализации"
      18. <класс p="step_content ">
        и<р класса="step_content ">
      19. клавишу CTRL S и сохраните tlb как имя по умолчанию (Имя_проекта.ТЛБ)
      20. <р класса="step_content ">

        & евро & евро & евро & евро

        <р класса="step_content ">

        & евро & евро <р класса="step_content ">
        и<р класса="step_content ">
      21. в [Вкладка жирный СОМ] брось следующие компоненты на серверной TBoldCOMServerHandle (cshServerHandle) и TBoldComServerElementHandle (cseElementHandle) и задайте следующие свойства:

        & евро & евро <я>

        & евро & евро cseElementHandle

        & евро & евро & евро & евро BoldHandle = shMainHandle

        & евро & евро & евро & евро ServerHandle = cshServerHandle

        & евро & евро
      22. <р класса="step_content ">
        и<р класса="step_content ">
      23. дважды щелкните cshServerHandle и генерировать код, сохраните этот файл как DCOMTestServerCode.па
      24. <р класса="step_content ">


        <р класса="step_content ">
      25. если скопировать GUID из DCOMTestServerCode в буфер обмена
      26. <р класса="step_content ">
        и<р класса="step_content ">
      27. сохранить и запустить приложение, все должно быть хорошо.
      28. <р класса="step_content ">
        и<р класса="step_content ">

        <р класса="step_content ">



        <у>клиента
        и<р класса="step_content ">

        1. Зарегистрировать tlb файл сервера с помощью regsvr32 или TRegSvr (от Borland\Delphi в папке\bin).
        2. <р класса="step_content ">
          и<р класса="step_content ">
        3. если создать новое приложение с форма и datamodule (форма должна "использовать" модуль).
        4. <р класса="step_content ">
          и<р класса="step_content ">
        5. если имя модуля dmClient, а основной формой fmClientMain.
        6. <р класса="step_content ">
          и<р класса="step_content ">
        7. сохранить форму как ClientMainForm.па, модуль как ClientModule.пас, и проект как ClientApp.ДНР
        8. <р класса="step_content ">
          и<р класса="step_content ">
        9. в [жирный СОМ] вкладке добавить TBoldCOMConnectionHandle (chCOMConnection), и TBoldSystemHandleCom (shMainHandle) задайте следующие свойства

          & евро & евро <я>

          & покупка & покупка chCOMConnection

          & евро & евро & евро & евро ServerCLSID = GUID из DCOMTestServerCode.ССА (свойство servername должно автоматически изменить)

          & евро & евро & евро & евро Автосоединение = истина



          & евро & евро shMainHandle

          & евро & евро & евро & евро ConnectionHandle = chCOMConnection

          & евро & евро & евро & евро атрибут isdefault = истина

          & евро & евро & евро & евро Имя_объекта = (Так же, как имя объекта из cseElementHandle на сервере)

          & евро & евро
        10. <р класса="step_content ">
          и<р класса="step_content ">
        11. в [жирный ком ручками] вкладка бросить TBoldListHandleCom (blhPerson) на главной форме установить

          и & евро & евро <я>

          & покупка & покупка ConnectionHandle = dmClient.chCOMConnection

          & мочекаменная & выражение мочекаменная = 'человек.allInstances'

          & фитоэстрогены & мочекаменная RootHandle = dmClient.shMainHandle

          & евро & евро
        12. <р класса="step_content ">
          и<р класса="step_content ">
        13. в [полужирный элементы управления com] вкладка бросить TBoldGridCom и TBoldNavigatorCom на главную форму и установить BoldHandle собственность как blhPerson.
        14. <р класса="step_content ">
          и<р класса="step_content ">
        15. правой кнопкой мыши BoldGridCOM1 и выберите "Правка столбцов" задайте выражение свойства второго столбца "имя".
        16. <р класса="step_content ">
          и<р класса="step_content ">
        17. Добавить в форму кнопку со следующим кодом прилагается

          & евро & евро <я>

          & евро & евро dmClient.shMainHandle.Системы.UpdateDatabase

          & евро & евро
        18. <р класса="step_content ">
          и<р класса="step_content ">

          <р класса="step_content ">



          приложение должно теперь работать.
          и<дел стиль= \ ясно:оба поплавка:нет'><дел стиль= \ ясно:оба поплавка:нет'> & мочекаменная

Введение в смелые модели dcom

Введение в смелые модели dcom : Несколько тысяч советов, которые сделают вашу жизнь проще.
рекомендовать друзьям
  • gplus
  • pinterest

Комментарий

Оставить комментарий

Оценивать