Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: D. Roth. am 04.07.04 - 18:25:43

Titel: Type mismatch on external name: <name of the class>
Beitrag von: D. Roth. am 04.07.04 - 18:25:43
Hallo zusammen ich hab ein Problem mit meiner ersten Klasse in Notes. Ich bekomm bei dem Aufruf den Fehler : "Type mismatch on external name: <name of the class> ". Kann mir jemand weiter helfen ??

Public Class Document
   Private m_test  As String
   Public Sub new (uidoc As NotesUIDocument)   
      m_test  = "hallo"
   End Sub
End Class
Titel: Re:Type mismatch on external name: <name of the class>
Beitrag von: TMC am 04.07.04 - 18:33:52
Die Fehlermeldung sagt mir jetzt konkret nichts.

Wie rufst Du denn die Klasse auf bzw. wie erstellst Du das Objekt "Document"?

In einem Button einer Maske könntest Du z.B. das hier machen:

Sub Click(Source As Button)
   
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = uiws.CurrentDocument
   
   Dim mytest As Document
   Set mytest = New Document(uidoc)
   
   
End Sub

*Edit*
Hast Du die ScriptLibrary mit Use "...." eingebunden ?
Titel: Re:Type mismatch on external name: <name of the class>
Beitrag von: animate am 04.07.04 - 18:39:44
das passiert üblicherweise wenn du Änderungen an einer Scriptbliothek machst.
Probier mal, alle Elemente, die diese Bibliothek verwenden, neu zu kompilieren (öffnen, Änderung machen (z.B. Leerzeichen), speichern)
Titel: Re:Type mismatch on external name: <name of the class>
Beitrag von: eknori am 04.07.04 - 18:41:11
benenne die Class mal um; statt Document , zDocument. Könnte sein, dass Document ein so called reserviertes Wort ist
Titel: Re:Type mismatch on external name: <name of the class>
Beitrag von: eknori am 04.07.04 - 18:45:13
was soll diese Klasse eigentlich machen  ??? Und du bist sicher, daß man eine Klasse so aufbaut  ???
Titel: Re:Type mismatch on external name: <name of the class>
Beitrag von: TMC am 04.07.04 - 18:45:50
Was mir auch schon unter R5 aufgefallen ist:

Ich habe eine offene Maske.
Parallel öffne ich eine ScriptLib mit Klasse bzw. erzeuge dort eine neue Klasse. Ich speichere die Scriptlib und schließe sie.

Wenn ich jetzt in der offenen Maske ein Objekt erzeugen will, dass ich vorher in der ScriptLib hinzugefügt habe, meckert Notes (ich glaube ist die gleiche Meldung).

Ich muss dan den Code in %REM / %ENDREM einklammern, Maske schließen und neu öffnen, erst dann wird der Code angenommen.
Titel: Re:Type mismatch on external name: <name of the class>
Beitrag von: animate am 04.07.04 - 18:50:44
Was mir auch schon unter R5 aufgefallen ist:

Ich habe eine offene Maske.
Parallel öffne ich eine ScriptLib mit Klasse bzw. erzeuge dort eine neue Klasse. Ich speichere die Scriptlib und schließe sie.

Wenn ich jetzt in der offenen Maske ein Objekt erzeugen will, dass ich vorher in der ScriptLib hinzugefügt habe, meckert Notes (ich glaube ist die gleiche Meldung).

Ich muss dan den Code in %REM / %ENDREM einklammern, Maske schließen und neu öffnen, erst dann wird der Code angenommen.

das ist aber ganz normal in Notes und passiert nicht nur bei Klassen.
wenn du ein Designelement geöffnet hast, dann bekommt es nicht mit, wenn sich an anderen Designelementen in der Zwischenzeit etwas ändert.
Titel: Re:Type mismatch on external name: <name of the class>
Beitrag von: D. Roth. am 14.07.04 - 12:19:45
Danke , der Tipp mit dem Speichern hat geholfen !!