Seite 1 von 1

Grafik aus Dll

Verfasst: 11.03.2005 16:51
von SlapY
Hi,
für die,die's nicht wissen: Man kann mit (z.B.: ) Microsoft Visual C++ Bilder/Sprites in eine Dll haun'. Nun zu meiner Frage: Kann man mir PB eben erwähnte Bilder laden (Wie (z.B.) bei VB) ?

Thx&Bye
Slap :freak: :lol: :mrgreen:

Verfasst: 11.03.2005 17:01
von bluejoke
Jep, ich denke, um ein Bild aus einer DLL zu laden musst du die Funktion ausführen und CatchImage oder so ähnlich (ich weiß den Befehl grad ned) auf den Rückgabewert anwenden.

Hab aber keinen Plan, das war nur so ne Idee...

Verfasst: 11.03.2005 17:04
von SlapY
Ho,
Bilder in Dlls sind keine Funktion sondern Ressourcen .....

-Slap /:-> *DerSmiliewoder /:-> dasitztundimKafferührt*

Verfasst: 11.03.2005 17:11
von MVXA
Man müsste den Handle der Library ermitteln. jaPBe hat ne include für Resourcen mit folgendem Befehl:

Code: Alles auswählen

Procedure ResLoadImage(ResName$); - Load a Bitmap-Resource and return ImageID [Resource.pbi]
  ProcedureReturn LoadBitmap_(GetModuleHandle_(0),ResName$)
EndProcedure
Nur braucht man den Libhandle. Könnte man herausfinden, wenn man die Library mit APIs öffnet, finde aber diese Variante etwas unschick /:->.

Verfasst: 11.03.2005 17:15
von SlapY
Ho,
dafür gibst doch öhm hier .......wie heisst das ähhhhhm.....Microsoft OleView glaub ich das is zum DllÖffnen ..da kann man alles aus der Dll lesen Adressen,ect...

Slap
(ich werds mal ausprobieren)

Verfasst: 11.03.2005 17:40
von MVXA
Dumm nur dass Pointer so ne eigenart haben, dass sie sich mit jedem Neustart verändern ~_~. Was klappen müsste wäre, wenn du OpenLibrary(0, "") benutzt und dann den rückgabe wert speicherst. Der sollte ggf. den System Handle beinhaltet. Wäre zumindest logisch, da des bei OpenFile() auch so ist.

Verfasst: 11.03.2005 19:53
von bluejoke
Steht auch in der Hilfe, dass OpenLibrary den Handle zur Lib zurückgibt ("Für fortgeschrittene Programmierer")

Verfasst: 11.03.2005 19:58
von MVXA
muahahahaha... ich besitze übernatürliche fähigkeiten. Ich hab die Festplatte eigenhändig angesprochen und die hilfe ausgelesen ^^ :o. Ich hab wirklich nicht in die Hilfe gesehen. Das war blind ins Blaue geraten ^^.