Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet 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
-
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 ?
-
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)
-
benenne die Class mal um; statt Document , zDocument. Könnte sein, dass Document ein so called reserviertes Wort ist
-
was soll diese Klasse eigentlich machen ??? Und du bist sicher, daß man eine Klasse so aufbaut ???
-
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.
-
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.
-
Danke , der Tipp mit dem Speichern hat geholfen !!