Brauche Hilfe: Resourcen-Problem

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    Brauche Hilfe: Resourcen-Problem

    Hallo zusammen,

    Ich habe ein GROSSES Problem!

    Ich arbeite schon seit 5 Monaten an einem Kommunikation und
    Datenbankverwaltungsprogramm und der Quellcode ist schon um die 80 Seite lang.
    Alles war in Ordnung und alles hat wunderbar geklappt...bis jetzt!

    Als ich vorgestern an dem Programm weiter gearbeitet habe, und danach
    das Programm starten wollte (Debuggen), kamen diese Fehlermeldungen:

    "Resources" ist kein Member von "My".

    Und das 95 Mal!

    Ich glaube es liegt an den Resourcedateien.
    Es sind ja auch so um die 90 Resourcedateien vorhanden.

    Die Fehler treten nur in den folgenden Codezeilen auf:

    My.Computer.Audio.Play(My.Resources.Voice_01, AudioPlayMode.Background)
    ^^^^^
    Hier ist dann überall der Fehler

    Im habe ein paar Screenshots für euch gemacht > siehe unten.

    Ich hoffe sehr dass mir jemand helfen könnte.

    Danke schon mal!
    Bilder
    • 1.jpg

      410,12 kB, 1.920×1.048, 158 mal angesehen
    • 2.jpg

      383,42 kB, 1.920×1.048, 140 mal angesehen
    • 3.jpg

      391,48 kB, 1.920×1.048, 135 mal angesehen
    • 4.jpg

      392,89 kB, 1.920×1.048, 144 mal angesehen
    Mal davon abgesehen, dass der Code teils stark verbessert werden müsste, wegen deutschen Bezeichnern, My-Namespace anstatt System.IO und gescheiten Wegen Audio abzuspielen etc.
    Dann noch so Sachen, wie Form2 etc. Wenn die Controls auch noch so heißen, dann kannste dicht machen, denn wenn der Code so umfangreich ist, dann ist das Projekt so oder so nicht mehr überblickbar.

    Subs etc haben auch keine Zugriffsmodifizierer.

    Zum Problem:
    Einfach mal googlen. Dann findet man z. B. das: stackoverflow.com/questions/92…ces-is-not-a-member-of-my
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()

    System.Media.SoundPlayer oder ne entsprechende Library.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Hä, was hat 4x funktioniert?

    Und zum Fehler habe ich Dir bereits alle wichtigen Infos gegeben.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Eine Überladung des Konstruktors nimmt einen Stream an.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Wenn man eine Methode überlädt, erstellt man eine neue Methode mit exakt dem gleichen Namen, nur die Signatur muss anders sein. Als Beispiel:

    VB.NET-Quellcode

    1. Public Sub CopyFile(Path As String, Irgendetwas As Integer) '1. Methode
    2. Public Sub CopyFile(Path As String) ' Überladung


    Meistens wird aus der Überladung die "Original"-Methode aufgerufen, also würde zB. in dem Beispiel oben in der Überladung der Code stehen:

    VB.NET-Quellcode

    1. Me.CopyFile(Path, 0)


    Das heißt, dass ein Konstruktor (eine Überladung des Konstruktors) der SoundPlayer-Klasse eine Stream annimmt. Was ein Stream ist, solltest du wissen.
    Mfg
    Vincent

    Guck dir mal an, was My.Resource.IRGENDETWAS für ein Datentyp ist (zumindest in deinem Fall). Und dann überleg dir, was die SoundPlayer-Klasse macht. Das hier hilft dir bestimmt:
    msdn.microsoft.com/de-de/libra…oundplayer(v=vs.110).aspx
    Mfg
    Vincent

    Das war jetzt aber wirklich nicht schwer. Hättest Du selbst draufkommen können, wenn Du Dich ein wenig auf MSDN oder Google umgeschaut hättest.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Habe ich auch, aber das meiste was ich fand war das, was ich in dem Programm angewendet habe:

    My.Computer.Audio.Play(My.Resources.Voice_01, AudioPlayMode.Background)

    Ich werden jetzt alle 95
    My.Computer.Audio.Play(My.Resources.Voice_01, AudioPlayMode.Background) Zeilen
    durch
    Dim soundplayer As New Media.SoundPlayer(My.Resources.DIE_RESOURCE)
    soundplayer.Play()
    ersetzen.

    Also kann 'ne weile dauern.

    (Nur mal nebenbei, wie könnt ihr euren Code in Oroginalfarbe anzeigen lassen wenn ihr eure Code's Ppstet, bei mir geht das nicht)

    Danke nochmal!
    Du brauchst die Instanz noch nicht mal bzw. das Objekt, das die Instanz trägt. Mache nen Long-Line-Itis draus.

    VB.NET-Quellcode

    1. New Media.SoundPlayer(My.Resources.DeineRessource).Play()
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: