developer Geschrieben 11. September 2003 Geschrieben 11. September 2003 Hallo, ich habe ein Programm in dem ich ein Objekt erzeuge. Wärend der Laufzeit greife ich auf dieses Objekt1 zu und arbeite damit... Soweit ja ziemlich ungewöhnlich. Nun möchte ich ein Objekt2 erzeugen welches die gleichen Eigenschaften wie Objekt1 hat. Ich Führe z.B. eine Sub durch, wobei Objekt1 irgendwas macht. Nun möchte ich aber auch wechseln können, dass die Sub auch von Objekt2 durchgelaufen werden kann. Wie kann ich nun wärend der Laufzeit zwischen Objekt1 und Objekt2 wechsel? Ich hoffe es ist verständlich Zitieren
Peregrin Geschrieben 11. September 2003 Geschrieben 11. September 2003 hi, mal sehen ob ich das richtig verstanden habe: sind die objekte o1 und o2 instanzen unterschiedlicher klassen? dann müssten diese eine gemeinsame schnittstelle implementieren, und du kannst dann in der funktion auf die methoden, eigenschaften der gemeinsamen schnittstelle zugreifen. hoffe, das war verständlich, sonst einfach nachfragen... Zitieren
developer Geschrieben 11. September 2003 Autor Geschrieben 11. September 2003 Konkret sieht es so aus, dass ich einen MS Assistenten animieren möchte. Da es aber ja mehrere Assisten gibt, möchte ich keine Redundanz erzeugen und einfach nur die gleiche ANimation von einem anderen Assistenten erledigen lassen. z.B. Private Sub PeedyStart() Dim Animation As Variant On Error Resume Next Agent1.Characters.Load "Peedy", "Peedy.acs" Set Peedy = Agent1.Characters("Peedy") Peedy.Show List1.Clear For Each Animation In Peedy.AnimationNames List1.AddItem Animation Next Animation With Peedy .MoveTo (Form1.Left + Form1.Width) / Screen.TwipsPerPixelX, _ (Form1.Top + (Form1.Height / 2)) / Screen.TwipsPerPixelY .Play "Surprised" .Play "Greet" .Speak "Hallo, dies ist ein Test." .Play "GestureDown" .Speak "Klicken sie bitte auf einem Listeneintrag, " & _ "um meine Fähigkeiten zu testen." End With End Sub Dies lässt den Vogel "Peedy" verschiedene Dinge erledigen. Falls der User aber "Merlin" oder "Genie" auswählt, soll ja nur ein anderes Objekt genommen werden. Allerdings soll er ja in die gleiche Sub springen, welche dann natürlich einen anderen Namen erhält. Zugegriffen wird auf das Microsoft Agent Control Zitieren
-roTekuGeL- Geschrieben 11. September 2003 Geschrieben 11. September 2003 und wieso legst du dich nicht einfach nicht nur auf Peedy fest... Private Sub PeedyStart([Color=red]Figur as string[/Color]) Dim Animation As Variant On Error Resume Next Agent1.Characters.Load [Color=red]Figur[/Color], [Color=red]Figur & ".acs"[/Color] Set Peedy = Agent1.Characters([Color=red]Figur[/Color]) Peedy.Show List1.Clear For Each Animation In Peedy.AnimationNames List1.AddItem Animation Next Animation With Peedy .MoveTo (Form1.Left + Form1.Width) / Screen.TwipsPerPixelX, _ (Form1.Top + (Form1.Height / 2)) / Screen.TwipsPerPixelY .Play "Surprised" .Play "Greet" .Speak "Hallo, dies ist ein Test." .Play "GestureDown" .Speak "Klicken sie bitte auf einem Listeneintrag, " & _ "um meine Fähigkeiten zu testen." End With End Sub das war jetzt nur so ne idee... kann sein das ich etwas übersehen habe und es nicht funktioniert... btw: hast du den Agent in Deutsch? wenn ja wo gibts den? Zitieren
developer Geschrieben 11. September 2003 Autor Geschrieben 11. September 2003 Ich lege mich nicht fest, da ich unsere Kunden kenne... Die einen wollen ein Vögelchen, die anderen lieber den Merlin... Mich festlegen wollte ich ja genau nicht. Ja, ich habe Sie auf Deutsch... http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/tipps/tip0218.shtml Zitieren
-roTekuGeL- Geschrieben 11. September 2003 Geschrieben 11. September 2003 Original geschrieben von developer Ich lege mich nicht fest, da ich unsere Kunden kenne... Die einen wollen ein Vögelchen, die anderen lieber den Merlin... Mich festlegen wollte ich ja genau nicht. Versteh ich jetzt nicht... das Agent Steuerelement kann doch alle Figuren annehemen, die du ihm anbietest... du lässt den user wählen und gibst dem Objekt dann halt die Figur die der User gewählt hat... ich hab da irgendwo noch ein Beispiel rumliegen *wühl* btw: Danke Zitieren
developer Geschrieben 11. September 2003 Autor Geschrieben 11. September 2003 Hrgggggggg, :floet: ich "#!*# .... Ich ändere Agent1.Characters.Load "Peedy", "Peedy.acs" Set Peedy = Agent1.Characters("Peedy") Peedy.Show einfach um in If Option1.value = True then Agent1.Characters.Load "Peedy", "Peedy.acs" Set Agent = Agent1.Characters("Peedy") Agent.Show if Option2.value = True then Agent1.Characters.Load "Merlin", "Merlin.acs" Set Agent = Agent1.Characters("Merlin") Agent.Show ... .... .... .... End If Oh man... Wieso denke ich immer so kompliziert? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.