Mittels UDRes ein BMP aus einer EXE laden

Anfängerfragen zum Programmieren mit PureBasic.
Darkman1
Beiträge: 13
Registriert: 28.03.2008 10:02
Wohnort: Bad Vilbel

Mittels UDRes ein BMP aus einer EXE laden

Beitrag von Darkman1 »

Hallo alle zusammen.
Bin fast am verzweifeln.

Code: Alles auswählen

            exe.l=OpenLibrary(0, "L:\PureBasic\EC200Edit\EC200Edit2.exe")
            If exe
                Image.l = UDRes_Get(10)
                If Image
                    CatchImage(10, Image, MemorySize(Image))
                EndIf
                MessageRequester("Image=",Str(Image))
            EndIf
Mittels jaPBe habe ich ein kl. Bild an die EXE angehängt. Das ist auch mit der richtigen Nummer (10) drin, berichtet mir der "XN Resource Editor".
Tatsache ist jedenfalls, dass "Image" immer 0 ist.
Weiß jmd welchen Fehler ich mache?

Vielen Dank im Voraus !!
Olaf Scholz, BM f. Arbeit u. Soziales: ...das ist mehr als wenn es weniger gewesen wäre.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Mit UDRes kannste es nur laden, wenns mit UDRes erstellt wurde! UDRes erstellt
in einem speziellem RCData format (compiliert das selber). Mit jaPBe wirste wohl
eine Image-Resource hinzugefügt haben.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Darkman1
Beiträge: 13
Registriert: 28.03.2008 10:02
Wohnort: Bad Vilbel

Beitrag von Darkman1 »

Ok, ok, aber ich hab doch irgendwo gelesen, dass Deine UDRes ebenfalls Ressourcen aus einer EXE laden kann. Bin ich da so verkehrt?
Olaf Scholz, BM f. Arbeit u. Soziales: ...das ist mehr als wenn es weniger gewesen wäre.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Darkman1 hat geschrieben:Ok, ok, aber ich hab doch irgendwo gelesen, dass Deine UDRes ebenfalls Ressourcen aus einer EXE laden kann. Bin ich da so verkehrt?
Ja, etwas.
Sie kann benutzerdefinierte Resourcen erstellen für alle möglichen Dateien,
Bilder, Sprites, Musik, DLLs usw. und bietet ausser dem wiederherstellen auch
erweiterte Funktionen, wie catchen, benutzen der DLL aus dem Speicher,
benutzen der Resourcen, der DLL die in den Resourcen ist (mit UDRes erstellt)

UDRes kompilierte Datei kann dann einfach per Import "meinexy.res" : EndImport
der Exe hinzugefügt werden.
Mit Resourcen, die mit anderen Programmen erstellt wurden macht die Lib nichts.
Man kann aber UDRes Resourcen eines anderen Programmes mit einem
weiterem nutzen, unter Verwendung der Libfunktionen.

Hoffentlich war das nicht zu kompliziert :D
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
H.Brill
Beiträge: 496
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Beitrag von H.Brill »

Hallo ts-soft,
da hätte ich auch eine Frage. Ich nutze deine
UDRes auch erfolgreich. Ich habe in meinem
Programm eine DLL und 17 Textdateien als
Resource eingebunden. Nun werden oft die
Textdateien (Preilisten) geändert bzw. erweitert.

Im Moment mache ich es so : Ich compilere jedesmal
bei Preisänderungen das Programm neu und schicke
es meinen Kollegen wieder. Daher will ich gerne so
eine Art Updater machen, damit die Kollegen das
Hauptprogramm (Resourcen) selber modifizieren
können. Windows selber erlaubt es ja in einem
laufenden Prozess nicht.

Ist sowas möglich ?
Denke da an den optionalen Parameter
hmodule.l in deiner Lib.
PB 6.10
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

@H.Brill: Datenbank?
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
H.Brill
Beiträge: 496
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Beitrag von H.Brill »

Ja,
sind alles .csv-Dateien, die ich
mittels UDRes_GetPack() in ein
ListIcon einlese.

Im Grunde soll halt nur die neue .res - Datei
in die .exe integriert werden, ohne wieder neu
compilieren zu müssen. Hab ja schon vor einiger
Zeit hier einen ResManager mit den UDRes - Funktionen
vorgestellt. Den würde ich dann zu so einem Updater
erweitern.
PB 6.10
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Ich meinte Sql-Datenbank. Die würde sich anbieten.

Daten ändern, Liste erweitern, ...perfekte Vorausetzungen für eine SQL-Datenbank.
Windows 11 - PB 6.03 x64
_________________________________
Darkman1
Beiträge: 13
Registriert: 28.03.2008 10:02
Wohnort: Bad Vilbel

Beitrag von Darkman1 »

@ts-soft
Ok, soweit verstanden, geht halt mit UDRes nicht so, wie ich mir das vorstellte. Ich habe mein Problem mit dem herkömmlichen "IncludeBinary" gelöst, sind eh nur ein paar Bildchen für Buttons...
Trotz allem - herzlichen Dank für Deine Ausführungen.
Olaf Scholz, BM f. Arbeit u. Soziales: ...das ist mehr als wenn es weniger gewesen wäre.
Benutzeravatar
H.Brill
Beiträge: 496
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Beitrag von H.Brill »

marco2006 hat geschrieben:Ich meinte Sql-Datenbank. Die würde sich anbieten.

Daten ändern, Liste erweitern, ...perfekte Vorausetzungen für eine SQL-Datenbank.
Ob nun meine .csv Dateien oder SQL-Datenbank ist nicht
für mich relevant. Kernpunkt ist ja, daß ich meine Daten
in der .exe haben will. Ist mehr so als Sicherheit gedacht,
im Falle, daß meine User die Datei(en) versehentlich löschen.

In meinem aktuellen Programm kann man sich dann halt
die Listen aus der Resource wieder laden u. als csv-Dateien
wieder abspeichern. Nur sind halt die Daten nicht ganz aktuell,
wenn man sie erst kurz vorher aktualisiert hat.
PB 6.10
Antworten