ohne namespace im Form = keine Ressourcen verwendbar?



  • Hallo,

    Ich hab in meiner Form^ das "namespace xy" heraus genommen, da - wenn ich dies drin lasse - einige Fehler in nachfolgenden Klassen auftreten.
    Doch wenn ich dies rausnehme, kann ich zB. kein Background setzten, da es einen Laufzeitfehler gibt:

    Für die angegebene Kultur oder die neutrale Kultur konnten keine Ressourcen gefunden werden. Stellen Sie sicher, dass Form1.resources beim Kompilieren richtig in die Assembly Form1 eingebettet wurde, oder dass die erforderlichen Satellitenassemblys geladen werden können und vollständig signiert sind.

    Gibt es eine Möglichkeit, das Hintergrundbild so einzubinden, dass es nicht aus der Ressource geladen wird?

    Danke schon mal.



  • Nachtrag:
    Hinzugefügt wird das Background auf diese Weise:

    this->BackgroundImage = (cli::safe_cast<System::Drawing::Image^  >(resources->GetObject(L"$this.BackgroundImage")));
    


  • ElViZ schrieb:

    Hallo,

    Ich hab in meiner Form^ das "namespace xy" heraus genommen, da - wenn ich dies drin lasse - einige Fehler in nachfolgenden Klassen auftreten.

    Was bekommst du denn hier für Fehler?

    chrische



  • chrische5 schrieb:

    Was bekommst du denn hier für Fehler?

    chrische

    In den Klassen wo ich diese Form verwende, jeweils:

    Verwendung des undefinierten Typs "Form1"
    


  • Hallo

    Zeig mal die Klasse.

    chrische



  • Überall dort, wo ich das Form1^ verwende, wird der oben beschriebene Fehler ausgespuckt.
    (hab noch andere Klassen bei denen es genauso ist)

    #pragma once
    #include "TSocket_Thread_client.h"
    
    ref class Form1;
    
    using namespace System;
    using namespace System::Net;
    using namespace System::Net::Sockets;
    using namespace System::Threading;
    using namespace System::Text;
    
    ref class TClient
    {
    	private:
    		TSocket_Thread_client^ client;
    		Socket^ server;
    		IPEndPoint^ iped;
    		Form1^ Fenster;
    	public:
    		TClient(void);
    		TClient(Form1^ form);
    
    		void Init_Start();
    		void Senden(String^ value);
    };
    


  • Vielleicht solltest du die Klasse auch definieren - an manchen Stellen reicht die Forward-Deklaration nicht aus (z.B. wenn du Methoden der Klasse nutzen oder Objekte anlegen willst).



  • Hallo,
    Danke für den Tipp, doch was meinst du genau mit "definieren"? 😃
    (sry, bin Umsteiger von Java)



  • Die Zeile "ref class Form1;" dort oben ist eine reine Deklaration - damit teilst du dem Compiler lediglich mit, daß du irgendwo eine Klasse namens "Form1" hast. Bevor du etwas sinnvolles damit machen kannst, benötigst du eine vollständige Klassendefinition (so, wie du es dort für die "TClient" gemacht hast).



  • Ach das meinst du 😃
    Ja hab ich ja. Es ist ja meine GUI (mit dem Namen Form1) auf die ich versuche zuzugreifen.



  • Hat niemand eine Ahnung wie ich ein Bild ohne Ressourcen verwenden kann? 😞


Anmelden zum Antworten