Entwickler-Ecke
Sonstiges (Delphi) - bilder in dll zur laufzeit speichern
elundril - Do 02.11.06 16:29
Titel: bilder in dll zur laufzeit speichern
wie kann ich bilder zur laufzeit in eine Dll einbinden?? oder geht das gar nicht??
lg el
Bernhard Geyer - Do 02.11.06 21:48
Was meinst Du damit genau? Wenn du die in der DLL hinterlegen willst so mach das z.B. einfach als Resource.
mkinzler - Do 02.11.06 21:50
Du braüchtset dazu ja einen Ressourcencompiler und einen Linker, den du mitliefern müsstest.
Martok - Do 02.11.06 23:44
mkinzler hat folgendes geschrieben: |
| Du braüchtset dazu ja einen Ressourcencompiler und einen Linker, den du mitliefern müsstest. |
Ich sag mal: Nö.
:D
Es gibt da die Funktion UpdateResource. Such mal danach. Ich guck mal, irgendwo hatte ich mal was mit gemacht.
Hier:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure BmpToRes(bmp:TBitmap;ResID:integer;FileName:string); var hres:THandle; ms:TMemoryStream; hs:integer;
begin hs:= sizeof(TBitmapFileHeader); hres:= BeginUpdateResource(PChar(FileName), false); ms:= TMemoryStream.Create; try bmp.PixelFormat:= pf4bit; bmp.SaveToStream(ms); UpdateResource(hres,RT_BITMAP,MAKEINTRESOURCE(ResID),GetSystemDefaultLangID, (PChar(ms.Memory)+hs), ms.Size-hs); finally EndUpdateResource(hres,false); ms.free; end; end; |
Bindet BMP als Ressource mit der ID ResID in FileName ein.
Irgendwas muss aber da dran komisch sein, die ist auskommentiert gewesen. Das kann aber damit zu tun haben, dass ich ein komisches Format hatte/wollte/haben musste. (Hatte es dann über ResourceHacker-Kommandozeilen-Aufrufe gelöst.)
elundril - Fr 03.11.06 16:29
könnte mir irgendjemand vl. erklären wie der code funktioniert?? ich wills ja immerhin nicht nur kopieren sonden auch kapieren!
lg el
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!