Seite 1 von 1

Die folgende PureLibrary fehlt: misc2

Verfasst: 25.05.2012 22:42
von Shiv0r
"Hallo

Ich habe mir soeben von PBOS die Windows Binaries heruntergeladen und sie "installiert", also in die entsprechenden Verzeichnisse getan.
Wenn ich die Library "PBOSL_AnimSprite" benutzen will, bekomme ich jedoch diese Fehlermeldung:

"Die folgende PureLibrary fehlt: misc2"

Weiß jemand, wie man diesen Fehler beheben kann? Ich benutze übrigens auch PB 4.

Re: Die folgende PureLibrary fehlt: misc2

Verfasst: 25.05.2012 23:20
von CSHW89
Hi,

leider sind die PBOSL-Library schon sehr alt. Und UserLibrary müssen zu der PB-Version passen, sie müssen also mit der selben PB-Version benutzt werden, mit der sie kompiliert wurden. Daher hast du jetzt 3 Möglichkeiten.
- Erstens dein Programm mit einer alten PB-Version kompilieren (vermutlich PB4.00),
- zweitens nicht die Library benutzen, sondern den Quellcode davon (vermutlich wird es da aber Probleme mit altem Code geben), oder
- drittens gänzlich auf die Library verzichten.

lg Kevin

Re: Die folgende PureLibrary fehlt: misc2

Verfasst: 25.05.2012 23:26
von ts-soft
Du solltest die binären Dateien nicht mehr nutzen!
Die in PB geschriebenen Sourcen kannst Du als Include benutzen.

Da AnimSprite eine in C geschriebene Lib ist, hab ich Dir mal eine neue
Version erstellt, für PB4.61 x86, ältere PB Versionen können, müssen aber nicht funktionieren. (nur 32-Bit!)

Vorher möglichst alles von PBOSL wieder deinstallieren. Hier der Download:
https://dl.dropbox.com/u/3086026/PBOSL_AnimSprite.zip

Nur die UserLib in das entsprechende Verzeichnis und die angepassten Beispiele nutzen.

Re: Die folgende PureLibrary fehlt: misc2

Verfasst: 25.05.2012 23:46
von Shiv0r
Hallo
ts-soft hat geschrieben:Du solltest die binären Dateien nicht mehr nutzen!
Die in PB geschriebenen Sourcen kannst Du als Include benutzen.

Da AnimSprite eine in C geschriebene Lib ist, hab ich Dir mal eine neue
Version erstellt, für PB4.61 x86, ältere PB Versionen können, müssen aber nicht funktionieren. (nur 32-Bit!)

Vorher möglichst alles von PBOSL wieder deinstallieren. Hier der Download:
https://dl.dropbox.com/u/3086026/PBOSL_AnimSprite.zip

Nur die UserLib in das entsprechende Verzeichnis und die angepassten Beispiele nutzen.
Perfekt, das hat super funktioniert! Vielen Dank für die schnelle Hilfe :)

Re: Die folgende PureLibrary fehlt: misc2

Verfasst: 25.05.2012 23:50
von CSHW89
... oder viertens der Autor ist so freundlich, und kompiliert den Quellcode neu :mrgreen:

Re: Die folgende PureLibrary fehlt: misc2

Verfasst: 25.05.2012 23:53
von ts-soft
Ich bin aber nicht der Autor!
Danilo ist der Autor.

Ich habe nur die *.desc angepasst und die UserLib mit dem LibraryMaker neu erstellt.
PBOSL_AnimSprite.desc hat geschrieben:;
; Language used to code the library: ASM or C
C
;
; Number of windows DLLs needed
0
; Library type (OBJ or LIB)
;
LIB
;
; Number of PureBasic libraries needed by the library
1
sprite
; Help directory name
;
PBOSL.chm
;
; Library functions (FunctionName, Arg1, Arg2, ...)
;

CreateAnimSprite, Long, Long, Long, Long, [Long], (your.AnimSprite, #sprite ,FrameSizeX ,FrameSizeY [, Delay in ms]) - Create an AnimSprite from PB-Sprite
Long
DisplayAnimSprite, Long, Long, Long, ( AnimSprite , X , Y )
Long
SetAnimFrame, Long, Long, ( AnimSprite, Frame )
Long
SetAnimDirection, Long, Long, ( AnimSprite, Direction )
Long
NextAnimFrame, Long, ( AnimSprite )
Long
NextAnimDirection, Long, ( AnimSprite )
Long
PrevAnimFrame, Long, ( AnimSprite )
Long
PrevAnimDirection, Long, ( AnimSprite )
Long
SetAnimLoopDelay, Long, Long, ( AnimSprite, new Delay in milliseconds )
Long
SetAnimLoopDirection, Long, Long, ( AnimSprite, new loop direction )
Long
AnimLoopDelay, Long, ( AnimSprite )
Long
AnimLoopDirection, Long, ( AnimSprite )
Long
CurrentAnimFrame, Long, ( AnimSprite )
Long
CurrentAnimDirection, Long, ( AnimSprite )
Long
AnimFrameCount, Long, ( AnimSprite )
Long
AnimDirectionCount, Long, ( AnimSprite )
Long
CollisionAnimAnim, Long, Long, Long, Long, Long, Long, [Long], ( AnimSprite1, x1, y1, AnimSprite2, x2, y2 [,collisionmode])
Long
CollisionAnimSprite, Long, Long, Long, Long, Long, Long, [Long], ( AnimSprite, x1, y1, Sprite, x2, y2 [,collisionmode])
Long
CollisionSpriteAnim, Long, Long, Long, Long, Long, Long, [Long], ( Sprite, x1, y1, AnimSprite, x2, y2 [,collisionmode] )
Long

Re: Die folgende PureLibrary fehlt: misc2

Verfasst: 26.05.2012 10:34
von Bisonte
Danke erstmal für das neu kompilieren.

Ist da evt. ein Fehler unterlaufen ?

Ich starte (4.61Final,x86) das Beispiel "can.pb".
Ich sehe wie die Kanadische Flagge vor sich hin flattert.
Ich drücke Escape.
Bildschirm bleibt schwarz (wechselt laufend zwischen "Digital" und "Analog" hin und her)
Windows Desktop oder anderes (selbst Strg Alt Entf) brachte keine Anzeige zurück....
Neustart per Ausknopf am Gehäuse war die einzige Rettung.

habe das 4x hintereinander ausprobiert. Gleiches ergebnis. Dann Laptop : Gleiches Spiel... (ausser das der Monitor
einfach nur Schwarz bleibt)

PC : Win7 64 Ultimate / Laptop: Win7 64 Home

Kann das noch jemand bestätigen ?

Re: Die folgende PureLibrary fehlt: misc2

Verfasst: 26.05.2012 11:43
von ts-soft
Bisonte hat geschrieben:Ist da evt. ein Fehler unterlaufen ?
Nein, was sollte diese Lib mit dem von Dir beschriebenen Fehler zu tun haben?
Sie übernimmt nur die Darstellung und die funktioniert ja auch bei Dir.

Bei mir unter Win7 Ultimate x64 SP1 und PB4.61 x86 gibt es keine Probleme.

Re: Die folgende PureLibrary fehlt: misc2

Verfasst: 26.05.2012 13:16
von Bisonte
Ist halt bei mir noch nie vorgekommen, dass Screen an , Screen aus den Monitor komplett ausmacht und nicht wieder anbekommt....

und das gleich auf 2 verschiedenen Rechnern... (somit schliesse ich Hardware aus)

Ich beobachte das ganze mal, vielleicht hat's nichts damit zu tun, nur hier fiel es mir grad auf...
deswegen auch die Frage nach Bestätigung ;)

Re: Die folgende PureLibrary fehlt: misc2

Verfasst: 26.05.2012 14:46
von Danilo
Bisonte hat geschrieben:Ist halt bei mir noch nie vorgekommen, dass Screen an , Screen aus den Monitor komplett ausmacht und nicht wieder anbekommt....

und das gleich auf 2 verschiedenen Rechnern... (somit schliesse ich Hardware aus)

Ich beobachte das ganze mal, vielleicht hat's nichts damit zu tun, nur hier fiel es mir grad auf...
deswegen auch die Frage nach Bestätigung ;)
Mache doch mal ein CloseScreen() am Ende rein, und am Anfang natürlich:

Code: Alles auswählen

;
; fix for fullscreen multi monitor bug in PB DirectX9
;
; Fullscreen problem with dualscreen monitor:
; http://www.purebasic.fr/english/viewtopic.php?f=4&t=41281
;
CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
...sonst geht es nicht überall wegen den PB-Bugs.