Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Objekt wärend der Laufzeit wechseln

Empfohlene Antworten

Veröffentlicht

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 :D

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...

  • Autor

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

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? :rolleyes:

Original geschrieben von developer

Ich lege mich nicht fest, da ich unsere Kunden kenne... :rolleyes: 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 ;)

  • Autor

Hrgggggggg, :floet: :rolleyes: 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?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.