Seite 1 von 2

SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 22.01.2014 13:36
von Ractur
Hallo,

bisher benutzte ich die Version PB 4.6 - inzwischen gibt es die 5.2 von PB, welche ich gerne nutzen möchte. Allerdings habe ich ein Problem mit der SKINWIN von Danilo. Die verursacht einen Fehler in der neuen PB Version 5.2, und ich weiß jetzt ehrlich gesagt nicht wo ich da zum suchen anfangen soll.

Der Fehler liegt offensichtlich in der SKINWIN LIB, beim complilieren meines Programms kommt folgender Fehler:

http://www.yoomitech.de/Screenshot_Skin ... ibrary.jpg

Mit dem Fehler kann ich absolut nichts anfangen? Ich weiß das die POSL nicht mehr geupdated wird, dennoch wäre es toll wenn ich die SkinWin und SkinWinFast LIB in der neuesten Version von PB nutzen könnte.

Ich hab mal gestartet, und hab die SKINWIN LIB aus den UserLIBS gelöscht, weil eigentlich ich ja nur die SKINWINFAST LIB verwende. Allerdings meckert der Compiler dann, das Ihm die SKINWIN LIB fehlt, offensichtlich gibt es also einen Bezug von der SKINWINFAST LIB zur SKINWIN LIB.

Ja, und nun weiß ich nicht mehr weiter, vielleicht kann mir jemand helfen? Ich hab auch schon die Binarys runter geladen für WINDOWS - allerdings, ich weiß nicht wie ich die Lib öffnen soll? Hmmmm...

Kann mir jemand beim debugging der 2 LIBS helfen?

Danke!

Matthias

Re: SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 22.01.2014 13:44
von NicTheQuick
Du müsstest die Library für die neue PB-Version neu kompilieren, sonst klappt das nicht. Da hilft kein Debuggen. Und ohne Quellcode wird dir das also nicht viel bringen. Entweder musst du bei Version 4.60 bleiben oder eine Alternative zur Skinwin-Library finden.

Re: SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 22.01.2014 14:16
von ts-soft
Der Source ist ja erhältlich, ist aber in C!

Das Problem ist, das in SkinWinFast die Packerfunktionen von PB verwendet werden und diese haben sich ja erheblich geändert.
Die SkinWinFast müßte in jedem Falle angepaßt werden, SkinWin könnte funktionieren (nicht getested).

Gruß
Thomas

Re: SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 22.01.2014 15:26
von Danilo
Wäre es denn OK das ganze in PB umzuschreiben und als Include zu verwenden?

Re: SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 22.01.2014 15:38
von ts-soft
Danilo hat geschrieben:Wäre es denn OK das ganze in PB umzuschreiben und als Include zu verwenden?
Ich denke mal, ein Module wäre sehr schön :D

Danke im voraus
Thomas

Re: SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 22.01.2014 18:36
von Bisonte
Danilo hat geschrieben:Wäre es denn OK das ganze in PB umzuschreiben und als Include zu verwenden?
ts-soft hat geschrieben:Ich denke mal, ein Module wäre sehr schön :D

Danke im voraus
Thomas
Schliesse ich mich an. :allright:

Re: SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 22.01.2014 18:53
von Danilo
Habe die Packerfunktionen in SkinWinFast auf PB5.21 umgestellt und den LZMA-Packer benutzt.

Ging schneller als alles neu zu schreiben. Aber mich störte auch das die Lib eine Aufräum'-Funktion
am Ende hat, es das aber bei PB-Source nicht gibt.

DOWNLOAD: SkinWinFast_PB521.zip

Skins (.PBS) muss man natürlich neu erstellen, da nicht kompatibel.

Re: SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 22.01.2014 19:31
von ts-soft
:allright: danke für die Anpassung!

Re: SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 22.01.2014 20:26
von Danilo
Habe es nochmal geändert, so dass man nun eigenen Packer auswählen kann.

DOWNLOAD: SkinWinFast_PB521.zip

Dabei gibt man nun bei GenerateFastSkin() direkt das PackerPlugin an, das man verwenden möchte (0 = ungepackt).
In der EXE, die dann den .pbs Skin benutzt, ist es wichtig das entsprechende UseXXXPacker()
selbst zu benutzen: UseLZMAPAcker(), UseBriefLZPacker(), oder UseZipPacker()!

Ein Test ist dabei, und die resultierenden EXE-Größen mit komprimiertem Beispielskin sind:

Code: Alles auswählen

BriefLZ:  42,0 KB
LZMA:     78,5 KB
Zip:     112,0 KB
Das muss man selbst testen, wenn man kleinstmögliche EXE erstellen möchte.
Einmal zählt wie gut der Packer packt, aber dann spielt auch noch die Größe
des Entpackers eine Rolle. LZMA packt in diesem Beispiel am Besten, aber
mit BriefLZ ist die EXE am Ende kleiner, weil die Entpacker-Funktion kleiner ist.

.PBS Dateiversion im Header habe ich auf Version 2 gesetzt, da nicht mehr
Kompatibel mit Skins von Version 1.

Man muss nur gut aufpassen, dass man immer die richtige UseXXXPacker-Funktion
nimmt, sonst kann die .pbs Datei natürlich nicht wieder entpackt werden. ;)

Re: SkinWinFast und Skinwin von PBOSL - Danilo

Verfasst: 23.01.2014 00:24
von Bisonte
Ist das umgestellte für x86, x64 oder beides ?