Seite 1 von 2
Mit PureBasic 5.40 erstellte exe-Datei funktioniert nicht.
Verfasst: 20.10.2015 17:21
von ThoPie
Hallo Leute,
haben meinen Quellcode 5.40-tauglich gemacht und das Programm läuft beim kompilieren sauber. Nur beim Starten der erstellten exe-Datei kommt die Meldung "Das Programm funktioniert nicht...". Erstelle ich mit 5.31 die exe, dann läuft sie. Die Kompiler-Einstellungen sind gleich (Unicode, Windows usw.). Als Betriebssystem ist Windows 7 Enterprise 64 bit im Einsatz. Hat evtl. jemand eine Idee woran das liegen könnte.
Vielen Dank für eure Hilfe.
Re: Mit PureBasic 5.40 erstellte exe-Datei funktioniert nich
Verfasst: 20.10.2015 17:24
von RSBasic
Tritt der Fehler auch mit eingeschaltetem Debugger auf oder nur wenn du die Executable-Datei direkt ohne Debugger/PB ausführst?
Teste mal mit eingebauter OnError-Funktion und- Computer-Option "OnError", um die Fehlerzeile und -beschreibung zu ermitteln.
Vielleicht versuchst du irgendwas zu öffnen/lesen und aufgrund des aktuellen Arbeitsverzeichnisses kann er die Zieldatei nicht finden. (Beispiel)
Re: Mit PureBasic 5.40 erstellte exe-Datei funktioniert nich
Verfasst: 20.10.2015 17:25
von NicTheQuick
Hat sich vielleicht der Virenscanner noch nicht daran gewöhnt?
Re: Mit PureBasic 5.40 erstellte exe-Datei funktioniert nich
Verfasst: 21.10.2015 07:28
von ThoPie
Halle Leute,
Dank eurer Hilfe konnte ich mit OnError() den Fehler "Invalid Memory Access" auf folgende Zeile eingrenzen
Code: Alles auswählen
CatchImage(#imaProgrammlogo,zBin\CatchFile(zBin\GetFileNumber("Programmlogo.jpg")))
Wir ihr seht nutze ich zBin zum Einbinden meiner Ressourcen. Die Ressourcendatei wird mit
Code: Alles auswählen
DataSection
IncludeBinary "Personal.zBin"
EndDataSection
eingebunden. Beim Kompilieren (mit/ohne Debugger) läuft alles. Nur die exe will nicht.
Unter 5.31 läuft es auch problemlos. Hat jemand noch eine zündende Idee - vielleicht ts-soft

Danke schon mal.
Re: Mit PureBasic 5.40 erstellte exe-Datei funktioniert nich
Verfasst: 21.10.2015 10:11
von ts-soft
Entweder das liegt am "Casting" der CRC, siehe hier:
http://www.purebasic.fr/german/viewtopi ... 75#p332175 &
http://www.purebasic.fr/english/viewtop ... 80#p473380
oder an der fehlenden Länge im Catchimage, mußt Dir also was selber drumrum basteln. Zur Zeit ist kein Bugfix-Release geplant,
was aber nicht heißt, es kommt keins
Gruß
Thomas
Re: Mit PureBasic 5.40 erstellte exe-Datei funktioniert nich
Verfasst: 21.10.2015 10:16
von ThoPie
Danke erst einmal. Das mit dem Casting hab ich schon probiert. Leider ohne Erfolg.
Was mich eben wundert, dass es beim Kompilieren funktioniert und nur die EXE streikt.
Re: Mit PureBasic 5.40 erstellte exe-Datei funktioniert nich
Verfasst: 21.10.2015 10:23
von ts-soft
Dann probiere bitte noch folgendes:
Code: Alles auswählen
Ergebnis = CatchImage(#Image, Speicheradresse [, [b]Größe[/b]])
PureBasic CHM hat geschrieben:Größe (optional) Die Größe des Bildes in Bytes.
Die Größe ist optional, da der "Loader" aus dem Bild bestimmen kann, wann er mit einlesen aufhören muss. Es ist jedoch ratsam, eine Größe beim Laden von unbekannten Bildern anzugeben, da der "Loader" dann auch beschädigte Bilder korrekt verarbeiten kann (ohne Angabe der Bildgröße kann ein korruptes Bild zum Absturz des Programms führen).
Ansonsten der Virenscanner, also exe zur Ausnahmeliste hinzufügen.
Re: Mit PureBasic 5.40 erstellte exe-Datei funktioniert nich
Verfasst: 21.10.2015 10:56
von ThoPie
Habe es mit
Code: Alles auswählen
CatchImage(#imaProgrammlogo,zBin\CatchFile(zBin\GetFileNumber("Programmlogo.jpg")),MemorySize(zBin\CatchFile(zBin\GetFileNumber("Programmlogo.jpg"))))
probiert. Die Größe passt aber die EXE bringt leider immer noch den Fehler.
Das Verzeichnis ist bereits in der Ausnahme vom Virenscanner drin.
Re: Mit PureBasic 5.40 erstellte exe-Datei funktioniert nich
Verfasst: 21.10.2015 11:05
von ts-soft
Probiere es mal so:
Code: Alles auswählen
zBin\GetUnpackedSize(zBin\GetFileNumber("Programmlogo.jpg"))
Re: Mit PureBasic 5.40 erstellte exe-Datei funktioniert nich
Verfasst: 21.10.2015 11:44
von ThoPie
Bringt die gleiche Größe wie MemorySize(). Also leider keinen Erfolg.
Was muss ich dir bieten, damit du ein BugFix-Release herausbringst.
