Hallo nochmal,
also teilweise funktioniert es nun (selbst ohne Public), aber
Hallo
Public wird nur für Variablen gebraucht , welche über mehrere Module hin verwendet werden …
noch nicht so richtig.
Also ich mache nun folgendes:
Public Sub AddObject(ByVal objObjekt As MeineKlasse)
'Code
End Sub
Warum „ByVal“ ?? warum nicht „Public Sub AddObject(objObjekt As Object)“ ? Schreibst Du etwa dll Aufrufe ?
Ich kenn Deine Klassen nicht . Ich erinnere mich nur an das hinzufügen von Unterfenstern , wobei eine „Klasse registriert“ werden mußte .
dim Objekt as MeineKlasse
Wenn ich nun folgendes Aufrufe, gibt er mir grundsätzlich
keinen Fehler aus:
myCollection.AddObject(Objekt)
Wenn ich aber zwischendurch folgendes mache:
Set Objekt = New MeineKlasse
Mit Set Variable = xyz kannst Du nur die Variable auf den Wert xyz setzen . Das gilt auch für Objekte .
Möchtest Du ein Objekt übergeben , indem Du eine Variable die auf den Typen „Object“ gesetzt wurde , mit Set = DeinObject beschreibst , kannst Du anschließend „DeinObject“ verwenden
Du must Dich genau an die Hilfe halten und eventuell ein paar mal probieren .
Möchtest Du ein neues Objekt , das kann man auch recht einfach .
Ich meine jetzt , das wäre dann :
Set Objektvariable xyz as New vorhandenesObject
Sorry , so in etwa
und danach dann aufrufe:
myCollection.AddObject(Objekt)
Kriege ich die Fehlermeldung: Typen unverträglich. Was mache
ich denn noch falsch?
Ich kann nur auf die Hilfedatei verweisen .
Das VB konnte warscheinlich nicht die Variablentypen umrechnen , zu verschiedenartig .
Ich fürchte , eine Klasse ist was anderes als wie ein Object , frag doch auch mal andere . Ich habe VB 5 .
Ich schreibe gerade selber was , und da ist noch irgendein blöder Fehler drin , ich weiß nur noch nicht wo .
MfG