Seite 2 von 2
Verfasst: 17.03.2005 19:45
von traumatic
Poser hat geschrieben:Yep, thanks! Also dann is ja soweit alles klar...
Hast Du auch verstanden, woran es lag?
Und den includeten Schoner tu ich ganz normal auslesen und als Datei in das Dir schreiben gell?
Watt?

Verfasst: 17.03.2005 19:52
von Poser
"Hast Du auch verstanden, woran es lag?"
---> Nicht wirklich. Aber der "alte" Code war wohl zu sehr auf ein System beschränkt, die Variante von Dir "offener".
"Watt?"
---> Ausgangsposting! Will ja einen Installer machen wo die .exe des Schoner schon mit drin ist. Alternativ wäre vielleicht anhängen. Aber das gibt sicher wieder Probleme wenn man dann alles packt...
Verfasst: 17.03.2005 20:00
von traumatic
Poser hat geschrieben:Nicht wirklich. Aber der "alte" Code war wohl zu sehr auf ein System beschränkt, die Variante von Dir "offener".
Nein.
Das Problem war, dass Du in einen nicht vorher alloziierten Speicherbereich schreiben
wolltest (also ich nehme an, das fehlende $ war ein Schreibfehler).
Das es nun funktioniert, liegt ausschließlich an Space().
Die 1024 habe ich nur aus Schönheitsgründen durch #MAX_PATH ersetzt.
(#MAX_PATH = maximale Pfadlänge = 260)
Ausgangsposting! Will ja einen Installer machen wo die .exe des Schoner schon mit drin ist. Alternativ wäre vielleicht anhängen. Aber das gibt sicher wieder Probleme wenn man dann alles packt...
IncludeBinary
Dann einfach den Screensaver unter dem selben Namen ins System-Verzeichnis,
den Du später auch an Install übergibst. Dann löpt et
Also beispielsweise
Code: Alles auswählen
.
.
.
OpenFile(0, sysDir$+"\DeinName.scr")
WriteData(?saverStart, ?saverEnd-?saverStart)
CloseFile(0)
.
.
.
DataSection
saverStart:
IncludeBinary "DeinName.scr"
saverEnd:
EndDataSection
Verfasst: 18.03.2005 17:02
von Poser
Thanks! Gibt es eigentlich ein richtiges PB-Tutorial was solche Feinheiten berücksichtigt? Komme aus der Blitzbasic-Ecke und bin solche Details nicht gewohnt
Und wegen dem Include: Angenommen der Installer soll universell sein, also jeder soll selber die Daten includen können - werden die dann einfach nur an die Installer-exe angehängt und später wieder ausgelesen?
Wenn man den Installer incl. Anhänge aber packt, kann man die Daten nicht mehr korrekt ansprechen oder? Also erst vorher Anhänge packen und dann anhängen oder?
Verfasst: 18.03.2005 17:26
von traumatic
Poser hat geschrieben:Und wegen dem Include: Angenommen der Installer soll universell sein, also jeder soll selber die Daten includen können - werden die dann einfach nur an die Installer-exe angehängt und später wieder ausgelesen?
Vom Prinzip her ja. Viele wege führen nach Rom.
Schau Dir mal folgenden Thread an:
http://forums.purebasic.com/english/vie ... hp?t=12878
Da sollte schon direkt die passende Idee (+Umsetzung) dabei sein.
Wenn man den Installer incl. Anhänge aber packt, kann man die Daten nicht mehr korrekt ansprechen oder? Also erst vorher Anhänge packen und dann anhängen oder?
Meinst Du per Executable-Packer á la UPX ?
Kannst ruhig beide packen (also den Screensaver einzeln und dann
sozusagen den Installer inkl. Screensaver)
Dein Installer wird ja _vor_ der eigentlichen Ausführung entpackt, da
'verschiebt' sich also nichts.
Verfasst: 18.03.2005 17:35
von Poser
Ja aber Du lädst doch dann die .exe ein und suchst nach dem String mit den Daten ab wo Du einladen willst. Bei einer gepackten .exe ist ja dann keine Sprungmarke mehr da oder?
Verfasst: 18.03.2005 17:40
von traumatic
Verstehe ich nicht.
An welcher Addresse Deine eingebundene .exe liegt, ändert sich doch durch's
Packen nicht!? Vielleicht verstehe ich einfach nicht, woraus Du hinauswillst

Verfasst: 18.03.2005 17:48
von Poser
Also du hast eine .exe die 100 KB groß ist, danach kommen 50 KB Daten (angehängt). Die Daten kannst Du einfach ansprechen, weil Du weißt wo sie sich genau befinden.
Wenn jetzt diese .exe gepackt wird, stimmt ja diese Sprungmarke nicht mehr, da landet man ja irgendwo in der .exe und nicht beim Datenblock.
Verfasst: 18.03.2005 17:59
von traumatic
Probier's doch einfach mal aus
Nimm Dir mal den Code von
griz zur Brust und fummel ein bisschen damit
rum. Ich garantiere Dir, das funktioniert auch noch wenn die exe (von griz
decoder genannt) gepackt ist.
In griz' Code wird ja einfach ans Ende der exe geschrieben und die Dateigröße
im Code ermittelt. Somit ist es völlig wurst, ob gepackt oder nicht.
Alles wird gut!
[TM] 