Hallo,
ich habe eine Ressourcendatei in der ein Image ist.
Nun will ich diese Laden. Das würde ich in C# wie folgt machen:
Image i = Namespace.Ressourcendatei.MeinBild;
Nun hab ich aber nen C++ Projekt und da geht diese Schreitweise natürlich nicht.
Wie würde man denn ohne "einfaches draufzugreife", also durch die gegebenen Ressourcenklassen, auf einkompilierte Ressoucendatei zurgreigen?
Gruß Stu
Hallo Stu42,
==> ResourceManager-Klasse
Das würde ich in C# wie folgt machen:
Image i = Namespace.Ressourcendatei.MeinBild;
Das hat nichts mit C# zu tun, sondern nur mit den Klassen, die VS generiert.
herbivore
Hatte ich auch schon probiert, dann mache ich aber etwas falsch.
Meine Ressourcendatei heißt "UI.resx" und ist in einem Unterordner.
Nun sage ich:
ResourceManager ^ rm = gcnew ResourceManager("UI",Assembly::GetExecutingAssembly());
Dann will ich das Bild laden, also:
Image::FromStream(rm->GetStream("MeinBild"));
Daraufhin bekomme ich aber eine TargetInvokationException.
Hallo Stu42,
bei TargetInvokationException interessiert nur die InnerException.
herbivore
Ok, die InnterException der TargetInvocationException ist:
{"Für die angegebene Kultur oder die neutrale Kultur konnten keine Ressourcen gefunden werden. Stellen Sie sicher, dass UI.resources beim Kompilieren richtig in die Assembly MeinProject eingebettet wurde, oder dass die erforderlichen Satellitenassemblys geladen werden können und vollständig signiert sind."}
Heißt also meine Resource wurde nicht einkompiliert?
Hallo Stu42,
ja, sieht so aus. Die .resx- und die .resource-Dateien kannst du zur Laufzeit vergessen. Die braucht man nur zur Compile-Zeit.
herbivore
Ja aber wie gebe ich denn mein Bild aus der Recourcendatei zurück?
Wie oben beschrieben, in C# mit Namespace.Ressourcendatei.MeinBild.
Das muss doch in C++ auch gehen. Ich habe eben geschaut was der Disigner für einen Code für die Ressourcen-Properties generiert, Unzwar:
RessourceManager.GetObject.
D.h also meine Resourcen werden nicht geladen. Aber warum nicht?
Hallo Stu42,
ich denke mal, du solltest dir das nochmal in Ruhe angucken: Ressourcen in Anwendungen.
herbivore