Seite 3 von 4
Verfasst: 04.06.2008 22:42
von ts-soft
@Kaeru Gaman
Falsches Thema
Es geht darum eine DLL in der Exe mitzuliefern, also nicht als Extra-Datei.
Als Resource hats den Vorteil, das die DLL bei Nutzung nur einmal in den
Speicher geladen wird, bei Include-Binary wird sie aber mit der Exe
(Resourcen werden nicht mit der Exe automatisch geladen, nur wenn
gebraucht, wie z.B. erstes Icon für Fenster) geladen und dann bei Nutzung
ein zweites mal, das gilt auch für Bilder usw. die mit Catch... geladen
werden.
Aber für eine DLL, die man noch nichtmal aus dem Speicher nutzt, ist der
Zweck nicht unbedingt erfüllt.
Man könnte auch per Hand ein Resource-Script erstellen und das ganze
per API lösen, wenn man UserLibs nicht mag, wäre aber nicht so einfach
für Einsteiger.
PS: Meine UserLib gibts keinerlei Strings zurück und läuft bisher unter allen
PB-Versionen seit 4... ohne Änderungen, nutzt bloß keiner
Ich selber hab leider kaum Bedarf an Bildern, Sprites und Sounds im
Programm.
Gruß
Thomas
Verfasst: 04.06.2008 23:22
von Kaeru Gaman
hast du auch für die vorteile deine anwendung eine plattform?
mach doch mal mehr reklame für deine arbeit!
und weiter aufmerksam gelesen:
da widersprichst du mir aber doch nicht (maßgeblich).
für ne DLL, die du in ner Ressource lädtst, hast du trotzdem den umständlichen aufruf.
für ne Userlib hast du dahingegen den geringeren speicherbedarf.
also, ein progger sollte beides einschätzen können, um zu entscheiden,
welche routinen er wie einbinden will.
Verfasst: 04.06.2008 23:37
von ts-soft
Kaeru Gaman hat geschrieben:
für ne DLL, die du in ner Ressource lädtst, hast du trotzdem den umständlichen aufruf.
für ne Userlib hast du dahingegen den geringeren speicherbedarf.
Es geht nicht um DLL oder Userlib
Es geht um
Wie DLL in Exe integrieren
Plattform für meine Userlib hab ich. Hier ein Thread, im engl. sowie auf
PureArea.net wohl auch. Desweiteren natürlich auf
www.realsource.de
Nachteile der UserLib gegenüber IncludeBinary:
1. Resourcen sind nicht "geschützt" (kein wirklicher Vorteil, da kein wirklicher Schutz)
2. Nur Windows
3. UserLib könnte bei PB Änderungen nicht mehr funktionieren
Vorteile:
1. Halber Speicherverbrauch
2. einfache Handhabung
3. integrierte Packfunktion (brieflz)
4. integrierte DLL aus Speicherfunktion (memorymodule)
5. Save funktion zum wiederherstellen.
6. von mir
Gruß
Thomas
Verfasst: 04.06.2008 23:47
von Kaeru Gaman
ts-soft hat geschrieben:6. von mir
7. erstes treffendes Argument, was ich für U-Libs höre....
ne im ernst, ich war ursprünglich so strikt dagegen,
weil ich probleme mit nem einfachen 2D-Drawing-Code berichtet bekommen hab,
nur weil ein Kollege zwei Libs installiert hatte, die ich nicht hatte - und ich hatte keine Libs benutzt.
wenn der kollege oberchecker-libmaker-king so probleme vermeiden kann, ok.
ich hab nix gegen Libs, solange sie niemandem, der sie garnicht benutzen will, probleme bereiten.
PS:
aber vielleicht sollte ich garnicht mehr so aktiv rummeckern....
hab mich heut erst wieder über PB's precasting-order aufgeregt,
und darüber, dass das team da nix drüber sagt.
wenn PB an der Basis so schlecht bleibt, ist der Smalltalk echt das einzige Argument für mich, hier zu bleiben.
ich hab Java6 fürn 10er bekommen (das BUCH), ich krieg DELPHI auch umsonst im Net,
also was solls.......
Verfasst: 04.06.2008 23:52
von ts-soft
Ist auch die erste mir bekannte UserLib mit integriertem, in PB
geschriebenen
Compiler
Kann zwar nur einen Resourcetyp kompilieren, aber das Nativ

UDRes
Verfasst: 05.06.2008 08:10
von H.Brill
Also ich benutze sie immer noch gerne, da sie
eine einfache Möglichkeit bietet, meine DLL und
meine Datendateien zu integrieren.
Und wenn TS-Soft noch zusätzl. Ideen zur UDres hat,
würde es mich freuen.
PS: Das einzige was mir noch nicht ganz klar ist,
ist der opt. Parameter hmodule.l.
Hat da jemand ein praktisches Beispiel dafür ?
Verfasst: 05.06.2008 08:21
von edel
Kaeru Gaman hat geschrieben:
aber vielleicht sollte ich garnicht mehr so aktiv rummeckern....
hab mich heut erst wieder über PB's precasting-order aufgeregt,
und darüber, dass das team da nix drüber sagt.
wenn PB an der Basis so schlecht bleibt, ist der Smalltalk echt das einzige Argument für mich, hier zu bleiben.
ich hab Java6 fürn 10er bekommen (das BUCH), ich krieg DELPHI auch umsonst im Net,
also was solls.......
"Wir haben keine Zeit!", besaenftigen dich solche Aussagen denn nicht ?
Manchmal hat man das Gefuehl, das die Option mit dem lebenslangen
Update, ne scheiss Idee war, zumindest fuer den Kunden.
Verfasst: 05.06.2008 09:53
von Kiffi
Kiffi hat geschrieben:BTW: UDRes_Create() ist nicht als Topic in der Hilfe vorhanden.
fürwahr! Hiermit ziehe ich meine Aussage zurück und behaupte das Gegenteil.
(muss mal wieder zum Optiker...)
Grüße ... Kiffi
Re: UDRes
Verfasst: 05.06.2008 10:41
von ts-soft
H.Brill hat geschrieben:
PS: Das einzige was mir noch nicht ganz klar ist,
ist der opt. Parameter hmodule.l.
Hat da jemand ein praktisches Beispiel dafür ?
Code: Alles auswählen
If OpenLibrary(0, "mysounds.dll")
hModule = LibraryID(0)
If hModule
mysound = UDRes_CatchSound(0, 0, hModule)
EndIf
EndIf
Was ist daran schwer zu verstehen
Statt DLL kanns auch eine andere Exe sein, die UDRes-Resourcen enthält!
Verfasst: 05.06.2008 13:11
von H.Brill
Ich kann doch mit UDRes_AddFile() mehrere
DLLs oder was auch immer einbinden und z.B.
mit den UDRes_Catch... Befehlen anhand der
resNumber.l mir das gewünschte rauspicken.
Gleiches geht ja auch mit DLLs mittels UDRes-
GetFunction.
Dafür brauche ich mir ja keine extra DLL (z.B. für
mehrere Sounds oder Bilder) zu basteln, sondern
erhöhe ResNumber bei UDRes_AddFile() immer
um 1. Somit habe ich ja auch alles in einer einzigen
.res Datei.
Deshalb dachte ich, hmodule sei noch für andere
Zwecke gedacht.
Andere Frage : Kann ich hModule.l bestücken,
indem ich eine .EXE mit RunProgramm starte
und hmodule dann die ProgamID() zuordne ?