Announcement

Collapse
No announcement yet.

Ereignisse oder Events?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ereignisse oder Events?

    Hallo allerseits,<br>
    es scheint, als ob mein Delphi 5 Professional ein Problem mit dem bezeichnen von Events beim COM hätte.<p>
    Anders kann ich mir nicht erklären, wenn beim Erstellen eines COM-Objektes über den Typbibliothekseditor nach drücken des Knopfes "Typbibliothek aktualisieren" eine Zeile <br>
    FEvents: IComServer<b>Ereignisse</b>;<br>
    anstelle von <br>
    FEvents: IComServer<b>Events</b>;<br>
    in der Rubrik Privat entsteht. Daß es daraufhin Kompilationsfehler gibt, ist erklärlich.<br>
    Korrigiere ich den Variabelen-Typ entsprechend, verschwindet der Kompilationsfehler,trotzdem sind meine Probleme nicht gelöst:<p>

    Bei der Erstellung der *_TLB.PAS Datei wird die OLE-Server-Proxy-Klassendeklaration nicht automatisch miterzeugt, sodaß es bei der Weitergabe des Moduls an Clients in Form einer Komponente zu dem Fehler kommt, daß der Typ der COM-Komponente dem Client nicht bekannt ist.
    Ich habe den Weg eingeschlagen, der in Herrn Koschs Buch "COM/DCOM/COM+" im Kapitel "Standortbestimmung" "Automation-Server mit Events" beschrieben ist.<p>
    Suche ich nach einem Phantom?<p>

    Vielen Dank für Eure Hilfe.

  • #2
    Des mit der Übesetzung der Schnittstellenname von *Events -> nach *Ereignisse ist ein bekannter von Delphi 5 (Ich glaube erst mit dem SP #1 aufgetreten). Da waren ein paar Übersetzer zu fleißig.

    Zu dem eigentlichen Problem versteh ich nicht ganz was Du meinst. Vielleicht gibst Du an, bei welcher Typbibliothek das Problem auftritt? Delphi bei manchen Konstrukten von Typbibliotheken Probleme diese Fehlerfrei einzulesen

    Comment


    • #3
      Ergänzung <p>
      Der Fehler tritt zum Beispiel auf, wenn ich die in o.g. Buch befindliche Beispiel ET2K.TLB in ein neues Verzeichnis lade, ein neues Projekt eröffne, und Typbibliothek aktualisieren anwähle.
      Dann wir die Datei ET2K_TLB.PAS erzeugt, die mit der im Buch mitgelieferten Beispieldatei identisch sein müßte.<p>
      Ist sie aber leider nicht: Es fehlt die Hälfte, dessen wichtigster Bestandteil die OLE-Server-Proxy-Klassendeklaration ist.
      Fatal ist dieser Zustand, wenn man versucht, aus der TLB-Datei eine Komponente zu generieren, um z.B. die Events in anderen Applikationen nutzen zu können, weil dann die Typ-Definition des Servers fehlt

      Comment


      • #4
        Beim Importieren einer Typbibliothek ist im Importdialog unten eine Checkbox "Komponenten-Wrapper generieren". Wenn dieser nicht gechecked ist, werden keine OLE-Server-Proxy-Klassen generiert

        Comment


        • #5
          Hallo,

          eine weitere potentielle Fehlerquelle liegt darin, wenn sowohl das Server- als auch das Client-Projekt im <b>gleichen</b> Verzeichnis gespeichert werden. In diesem Fall bindet der Client nicht die TLB-Version aus dem Imports-Verzeichni (inklusive VCL-Wrapperkomponente), sondern nur die Server-TLB aus dem eigenen Verzeichnis ein (siehe Reihenfolge im internen Such-Pfad von Delphi)

          Comment

          Working...
          X