Bitmap Ressourcen dynamisch auswählen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Lorca
Beiträge: 196
Registriert: Di 3. Nov 2020, 12:25

Bitmap Ressourcen dynamisch auswählen

Beitrag von Lorca »

Hallo zusammen,

bezugnehmend auf meinem Post: viewtopic.php?p=126478#p126478
habe ich mir ein kleines Demo Programm gemacht, um Bitmap Ressourcen dynamisch zu lesen.
Ich will halt den korrekten Umgang mit Ressourcen lernen.

Für das Einbinden der Ressourcen mittels {$R xxx.RES} gibt es alle möglichen Methoden, um Bitmaps zu laden.
Hierzu wird jedoch immer die Variable HINSTANCE benötigt.
Ich habe jedoch nach einem Weg gesucht, diese nicht über die $R Funktion auslesen zu können, sondern dynamisch analog zu
der LoadLibrary Funktionalität.

Das Demo Programm ist angeheftet.

Nun verstehe ich jedoch folgendes nicht:
Bei der erstmaligen Auswahl einer gefundenen Bitmap Ressource aus der ausgewählten Ressourcen Datei, wird diese auch wie gewünscht angezeigt. Bei einer erneuten Auswahl dieser Bitmap, bleibt das Image jedoch leer.

Nun frage ich mich warum? Ein zerstörendes Lesen wurde m.E. bereits vor 40 Jahren ( oder mehr ) abgeschafft.
Ich habe keine Vorstellung was da schief läuft.

Vllt. hat ja jemand einmal die Muße und die Zeit sich das Coding anzuschauen und mir meinen Fehler mitteilen.


Viele Grüße
Lorca
Dateianhänge
DEMO_Bitmap_Ressourcen_Dynamisch_Lesen.zip
(302.22 KiB) 62-mal heruntergeladen

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Bitmap Ressourcen dynamisch auswählen

Beitrag von Winni »

Hi!

Wird nix mit Testen.

Du hast folgende Datei vergessen:

UI_TEST_Ressourcen_Lesen.pas(138,1) Error: Can't open resource file "....../Test/Test_Ressourcen_Lesen/BTN_Icons.RES"

Winni

Lorca
Beiträge: 196
Registriert: Di 3. Nov 2020, 12:25

Re: Bitmap Ressourcen dynamisch auswählen

Beitrag von Lorca »

Hallo zusammen,

OK, hier mal die neue ZIP.
Diesmal habe ich sie in einem neuen Ordner mal ausgepackt und gestartet.
Gilt ab sofort als Durchgestichen: Bei mir hat es Funktioniert.
Sollte bedeuten: Die Zip Datei wurde erneut aufgebaut und sollte jetzt korrekt sein.
Das Problem existiert allerdings immer noch.
Es kann doch nicht sein, das ich jedes mal den Stream neu einlesen, und die Ressource neu anlegen muss !???

Bitte um Entschuldigung :)


Viele Grüße
Lorca
Dateianhänge
DEMO_Bitmap_Ressourcen_Dynamisch_Lesen.zip
(302.22 KiB) 55-mal heruntergeladen

Antworten