Einführung in Fett + dcom

Einführung in Fett + dcom


Ein Schritt für Schritt Spaziergang durch Geschäftslogik auf einen anderen Server mit Fett + DCOM mit einer Interbase-Datenbank zu trennen.

Dieser Artikel wurde aus einem Internetchat (IRC) mit Eric Holton-Protokollen zusammengestellt. Ich möchte Danke, dass Eric verbringen so viel Zeit, die detailliert die Schritte angeht. Eric hat sich bereit mich die Protokollen unseres Gesprächs in diesem Artikel zum Wohle anderer umwandeln lassen.



Der server


  1. Erstellen Sie eine neue Anwendung mit einem Formular und ein Datamodule.

  2. Nennen Sie das Modul DmServer und das Hauptformular FmServerMain.

  3. Speichern Sie das Formular als ServerMainForm.pas, das Modul als ServerModule.pas und das Projekt als ServerApp.DPR

  4. Fügen Sie aus der Registerkarte [Fett behandelt] ein TBoldModel (MbModel), TBoldSystemTypeInfoHandle (IhModelInfo), TBoldSystemHandle (ShMainHandle) und eine TBoldPersistenceHandleIB (PhInterbase).

  5. Im Objekt legen Inspektor Sie die folgenden Eigenschaften:



    phInterbase

    DatabaseName = eine vorhandene GDB-Datei ersetzt werden.

    BoldModel = BmModel

    DatabaseEngine = dbeInterbaseSQLDialect3



    shMainHandle

    SystemTypeInfoHandle = IhModelInfo

    PersistenceHandle = PhInterbase

    IsDefault = True

    AutoActivate = True



    ihModelInfo

    BoldModel = BmModel



    BoldDCOM01.gif



  6. Umfassen Sie in der OnDestroy des Datamodule den folgenden code



    Wenn Assigned(shMainHandle.System) dann

    mit shMainHandle.System-do

    Wenn BoldDirty dann verwerfen;



  7. Doppelklicken Sie auf das Modell, um die Modelleditor aufzurufen, und gehen Sie folgendermaßen vor:

    1. Ändern Sie 'Name' und 'Gerätename' vom BusinessClasses zum DCOMTestClasses

    2. Ändern Sie 'Modell Stammklasse' von BusinessClassesRoot zu DCOMTestClassesRoot

    3. Fügen Sie eine neue Klasse namens Person mit einem einzelnen Attribut 'FirstName'

    4. Im Menü Extras-Datenbank generieren

    5. Im Menü Extras Generate Code - speichern die resultierenden Dateien mit ihren Standardnamen

    6. Im Menü Extras COM/IDL-GUIDs generieren (sagen wir ja 'halten zu GUIDs vorhanden?')

    7. Im Menü Extras generieren Delphi kompatibel IDL - speichern Sie die Ergebnisse mit ihren Standardnamen

    8. Speichern Sie das Modell zu, und schließen Sie den Modelleditor



  8. Datei im Menü neu, [ActiveX-] Registerkarte 'Type Library', und gehen Sie folgendermaßen vor:

    1. Klicken Sie auf der Registerkarte [Verwendung]

    2. Mit der rechten Maustaste, und wählen Sie 'Zeige alle Typbibliotheken'

    3. Tick 'Fett ObjectSpace Type Library'

    4. Mit der rechten Maustaste und wählen Sie 'ausgewählte'

    5. Öffnen Sie die Datei DCOMTesterClasses.IDL

    6. Wählen Sie den Text und kopieren Sie sie in die Zwischenablage

    7. Klicken Sie auf den TLB-Editor [Text]

    8. Ersetzen von Text mit dem Text in die Zwischenablage

    9. Klicken Sie auf 'Refresh Umsetzung'

    10. STRG + S und speichern Sie die TLB als den Standardnamen (ProjectName.TLB)





  9. Registerkarte [Fett COM] löschen Sie die folgenden Komponenten auf das Servermodul TBoldCOMServerHandle (CshServerHandle) und eine TBoldComServerElementHandle (CseElementHandle), und legen Sie die folgenden Eigenschaften:



    cseElementHandle

    BoldHandle = ShMainHandle

    ServerHandle = CshServerHandle



  10. Doppelklicken Sie auf CshServerHandle und generieren Sie Code, speichern Sie diese Datei als DCOMTestServerCode.pas



  11. Kopieren Sie die GUID in die Zwischenablage aus DCOMTestServerCode

  12. Speichern Sie und führen Sie die Anwendung, alle sollten gut sein.





Der Client


  1. Registrieren Sie den Server-TLB-Datei mithilfe von RegSvr32 oder TRegSvr (Borland\delphi\bin Ordner).

  2. Erstellen Sie eine neue Anwendung mit einem Formular und ein Datamodule (Form sollte 'verwenden' das Modul).

  3. Name der Modul-DmClient und das Hauptformular FmClientMain.

  4. Speichern Sie das Formular als ClientMainForm.pas, das Modul als ClientModule.pas und das Projekt als ClientApp.DPR

  5. Fügen Sie der Registerkarte [Fett COM] ein TBoldCOMConnectionHandle (ChCOMConnection) und eine TBoldSystemHandleCom (ShMainHandle) legen Sie die folgenden Eigenschaften



    chCOMConnection

    ServerCLSID = die GUID von DCOMTestServerCode.pas (The ServerName Eigenschaft sollten automatisch ändern)

    AutoConnect = True



    shMainHandle

    ConnectionHandle = ChCOMConnection

    IsDefault = TRUE

    Objektname = (identisch mit Objektname des CseElementHandle auf dem Server)



  6. Von der Registerkarte [Fett COM behandelt] ein TBoldListHandleCom (BlhPerson) auf dem Hauptformular festlegen



    ConnectionHandle = dmClient.chCOMConnection

    Ausdruck = 'Person.allInstances'

    RootHandle = dmClient.shMainHandle



  7. Von der Registerkarte [Fett COM-Steuerelemente] löschen Sie, ein TBoldGridCom und ein TBoldNavigatorCom auf dem Hauptformular, und legen Sie die BoldHandle-Eigenschaft von beiden zu BlhPerson.

  8. Mit der rechten Maustaste BoldGridCOM1, und wählen Sie 'Spalten bearbeiten' Festlegen der Expression-Eigenschaft der zweiten Spalte, 'FirstName'.

  9. Fügen Sie eine Schaltfläche zum Formular, mit dem folgenden Code angefügt



    dmClient.shMainHandle.System.UpdateDatabase;







Die Anwendung sollte jetzt funktionieren.








Einführung in Fett + dcom


Einführung in Fett + dcom : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Ein Schritt für Schritt Spaziergang durch Geschäftslogik auf einen anderen Server mit Fett + DCOM mit einer Interbase-Datenbank zu trennen.

Dieser Artikel wurde aus einem Internetchat (IRC) mit Eric Holton-Protokollen zusammengestellt. Ich möchte Danke, dass Eric verbringen so viel Zeit, die detailliert die Schritte angeht. Eric hat sich bereit mich die Protokollen unseres Gesprächs in diesem Artikel zum Wohle anderer umwandeln lassen.



Der server


  1. Erstellen Sie eine neue Anwendung mit einem Formular und ein Datamodule.

  2. Nennen Sie das Modul DmServer und das Hauptformular FmServerMain.

  3. Speichern Sie das Formular als ServerMainForm.pas, das Modul als ServerModule.pas und das Projekt als ServerApp.DPR

  4. Fügen Sie aus der Registerkarte [Fett behandelt] ein TBoldModel (MbModel), TBoldSystemTypeInfoHandle (IhModelInfo), TBoldSystemHandle (ShMainHandle) und eine TBoldPersistenceHandleIB (PhInterbase).

  5. Im Objekt legen Inspektor Sie die folgenden Eigenschaften:



    phInterbase

    DatabaseName = eine vorhandene GDB-Datei ersetzt werden.

    BoldModel = BmModel

    DatabaseEngine = dbeInterbaseSQLDialect3



    shMainHandle

    SystemTypeInfoHandle = IhModelInfo

    PersistenceHandle = PhInterbase

    IsDefault = True

    AutoActivate = True



    ihModelInfo

    BoldModel = BmModel



    BoldDCOM01.gif



  6. Umfassen Sie in der OnDestroy des Datamodule den folgenden code



    Wenn Assigned(shMainHandle.System) dann

    mit shMainHandle.System-do

    Wenn BoldDirty dann verwerfen;



  7. Doppelklicken Sie auf das Modell, um die Modelleditor aufzurufen, und gehen Sie folgendermaßen vor:

    1. Ändern Sie 'Name' und 'Gerätename' vom BusinessClasses zum DCOMTestClasses

    2. Ändern Sie 'Modell Stammklasse' von BusinessClassesRoot zu DCOMTestClassesRoot

    3. Fügen Sie eine neue Klasse namens Person mit einem einzelnen Attribut 'FirstName'

    4. Im Menü Extras-Datenbank generieren

    5. Im Menü Extras Generate Code - speichern die resultierenden Dateien mit ihren Standardnamen

    6. Im Menü Extras COM/IDL-GUIDs generieren (sagen wir ja 'halten zu GUIDs vorhanden?')

    7. Im Menü Extras generieren Delphi kompatibel IDL - speichern Sie die Ergebnisse mit ihren Standardnamen

    8. Speichern Sie das Modell zu, und schließen Sie den Modelleditor



  8. Datei im Menü neu, [ActiveX-] Registerkarte 'Type Library', und gehen Sie folgendermaßen vor:

    1. Klicken Sie auf der Registerkarte [Verwendung]

    2. Mit der rechten Maustaste, und wählen Sie 'Zeige alle Typbibliotheken'

    3. Tick 'Fett ObjectSpace Type Library'

    4. Mit der rechten Maustaste und wählen Sie 'ausgewählte'

    5. Öffnen Sie die Datei DCOMTesterClasses.IDL

    6. Wählen Sie den Text und kopieren Sie sie in die Zwischenablage

    7. Klicken Sie auf den TLB-Editor [Text]

    8. Ersetzen von Text mit dem Text in die Zwischenablage

    9. Klicken Sie auf 'Refresh Umsetzung'

    10. STRG + S und speichern Sie die TLB als den Standardnamen (ProjectName.TLB)





  9. Registerkarte [Fett COM] löschen Sie die folgenden Komponenten auf das Servermodul TBoldCOMServerHandle (CshServerHandle) und eine TBoldComServerElementHandle (CseElementHandle), und legen Sie die folgenden Eigenschaften:



    cseElementHandle

    BoldHandle = ShMainHandle

    ServerHandle = CshServerHandle



  10. Doppelklicken Sie auf CshServerHandle und generieren Sie Code, speichern Sie diese Datei als DCOMTestServerCode.pas



  11. Kopieren Sie die GUID in die Zwischenablage aus DCOMTestServerCode

  12. Speichern Sie und führen Sie die Anwendung, alle sollten gut sein.





Der Client


  1. Registrieren Sie den Server-TLB-Datei mithilfe von RegSvr32 oder TRegSvr (Borland\delphi\bin Ordner).

  2. Erstellen Sie eine neue Anwendung mit einem Formular und ein Datamodule (Form sollte 'verwenden' das Modul).

  3. Name der Modul-DmClient und das Hauptformular FmClientMain.

  4. Speichern Sie das Formular als ClientMainForm.pas, das Modul als ClientModule.pas und das Projekt als ClientApp.DPR

  5. Fügen Sie der Registerkarte [Fett COM] ein TBoldCOMConnectionHandle (ChCOMConnection) und eine TBoldSystemHandleCom (ShMainHandle) legen Sie die folgenden Eigenschaften



    chCOMConnection

    ServerCLSID = die GUID von DCOMTestServerCode.pas (The ServerName Eigenschaft sollten automatisch ändern)

    AutoConnect = True



    shMainHandle

    ConnectionHandle = ChCOMConnection

    IsDefault = TRUE

    Objektname = (identisch mit Objektname des CseElementHandle auf dem Server)



  6. Von der Registerkarte [Fett COM behandelt] ein TBoldListHandleCom (BlhPerson) auf dem Hauptformular festlegen



    ConnectionHandle = dmClient.chCOMConnection

    Ausdruck = 'Person.allInstances'

    RootHandle = dmClient.shMainHandle



  7. Von der Registerkarte [Fett COM-Steuerelemente] löschen Sie, ein TBoldGridCom und ein TBoldNavigatorCom auf dem Hauptformular, und legen Sie die BoldHandle-Eigenschaft von beiden zu BlhPerson.

  8. Mit der rechten Maustaste BoldGridCOM1, und wählen Sie 'Spalten bearbeiten' Festlegen der Expression-Eigenschaft der zweiten Spalte, 'FirstName'.

  9. Fügen Sie eine Schaltfläche zum Formular, mit dem folgenden Code angefügt



    dmClient.shMainHandle.System.UpdateDatabase;







Die Anwendung sollte jetzt funktionieren.

Einführung in Fett + dcom

Einführung in Fett + dcom : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Einführung in Fett + dcom
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung