Entwickler-Ecke
Andere .NET-Sprachen - Resourcen in .NET Projekt einbinden
xasx - Do 14.04.05 21:38
Titel: Resourcen in .NET Projekt einbinden
Hallo Leute!
Wie binde ich unter Delphi 2005 .NET denn Dateien als Resourcen ein?
Unter Visual Studio .NET füge ich hierzu eine z.B. ICO-Datei (es geht aber auch jede beliebige andere) zum Projekt hinzu und wähle anschließend in den Eigenschaften der Datei unter "Buildaktion" "Eingebettete Resource". Ich kann die Resource danach wie folgt abrufen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| function PluginClass.get_PluginIcon: Icon; var ass: Assembly; begin ass := Self.GetType.Assembly; Result := Icon.Create(ass.GetManifestResourceStream('open_delphi.test.ico')); end; |
Wobei hier open_delphi der Projekt- bzw. Assemblyname und test.ico der Name der Icondatei ist.
Die obige Funktion ist Teil eines Plugin-Interface, also einer Klassenbibliothek, wodurch ich auch keine ImageList o.Ä. benutzen kann. ImageList fällt denke ich eh flach, da diese nur Images, keine Icons zurückgibt.
Wäre schön, wenn jemand ne Lösung wüsste.
Grüße,
Andy
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt.
Delete - Do 14.04.05 22:21
Reden wir von der gleichen Imageliste? Ich hab´s in CSharp versucht: Da spielt das keine Rolle, ob es sich bei dem Bild um eine Bitmap, eine GIF- oder eine PNG-Grafik handelt. Warum sollte sie dann Probleme mit Icons haben? :gruebel:
xasx - Fr 15.04.05 12:58
Mein Problem ist primär, die Resourcen in das Manifest einzubinden...
Zur ImageList: über die Eigenschaft Images, die einen Indexer besitzt oder ein Array ist, kriegst du nur Image-Objeke, keine Icon-Objekte heraus, das meinte ich. Außerdem will ich nicht eine Steuerelementbibliothek anlegen, wenn ich eigentlich kein Steuerelement benötige, nur um auf eine ImageList bzw. die damit angelegte ImageStream-Resource zuzugreifen.
Eine andere Möglichkeit, die ich aber weitestgehend vermeiden will, wäre es, die Icon-Dateien über ein Win32-Resourcenskript in die DLL einzubinden und dann über PInvoke die Resource dann auszulesen. Wie gesagt - sehr unschön und Performance-lastig.
Ich wäre echt dankbar für ne Antwort, wie man genau das tut, was ich tun will :wink:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!