Announcement

Collapse
No announcement yet.

Beispiel "MWSt"

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

  • Beispiel "MWSt"

    Hallo,

    Ich habe unter Delphi 5 das Beispiel "In-process Server Step by Step" aus dem o.a. Buch (S. 25) ausprobiert. Bis zum Schritt 4 hat noch alles funktioniert. Das Projekt konnte erfolgreich compiliert werden und der COM-Server ließ sich auf dem Rechner registrieren.

    Die Entwicklung des Clients funktionierte zwar auch noch, jedoch erhalte ich bei Programmstart die Fehlermeldung "ClassFactory kann angeforderte Klasse nicht liefern."

    Betätige ich anschließend den Button "Rechne", dann erhalte ich eine weitere Felermeldung "Zugriffsverletzung bei Adresse 004463E1 in Modul "Client.exe'. Lesen von Adresse 00000000."

    Weiß jemand Rat ?

    Grüsse,
    Carsten

  • #2
    Der obige Fehler, welches ich auf einem XP-Rechner ausprobiert hatte, konnte ich nun beheben. Und zwar traten bei dem Versuch, die DLL neu zu compilieren immer mehrere Fehlermeldungen auf:
    1. "Fehler in COMMWST_Impl.pas: Deklaration von 'GetBrutto' unterscheidet sich von der Deklaration in interface 'IMWSt'
    2. "Fehler in COMMWST_Impl.pas: Deklaration von 'SetPercent' unterscheidet sich von der Deklaration in interface 'IMWSt'
    3. "Fataler Fehler in COMMWST.dpr: Verwendete Unit 'COMMWST_Impl.pas' kann nicht compiliert werden

    Der Grund scheint für mich daran zu liegen, daß in Delphi 5 ein Bug existiert. Und zwar wird in der Datei 'COMMWST_TLB.pas" die Typdefinition "const" in den beiden Interface-Definitionen "IMWSt" und "IMWStDisp" nicht automatisch gesetzt.

    Nachdem ich nun die "const"-Definition an 4 Stellen manuell gesetzt hatte (Get Brutto zweimal und SetPercent zweimal), läßt sich die DLL ohne Fehlermeldung compilieren.

    Kann evtl. jemand den Bug bestätigen ?

    Comment

    Working...
    X