Der Fehler besteht schon die ganze Zeit mit der PB 4.20er Version.
Lade ich einen (unter 4.10 einwandfrei compilierbaren) Source ein und starte ihn mittels F5 (inkl. Debugger), dann wird das Programm normal gestartet und ich kann es auch fehlerfrei benutzen.
Wenn ic hdas Programm aber beende, dann erscheint folgedne Fehlermeldung:
Code: Alles auswählen
PUREBASIC_COMPILATION0 verursachte einen Fehler durch eine ungültige Seite
in Modul MSVCRT.DLL bei 016f:780216aa.
Register:
EAX=005b0034 CS=016f EIP=780216aa EFLGS=00010206
EBX=ffffffff SS=0177 ESP=005b0000 EBP=005b0020
ECX=00000000 DS=0177 ESI=819176d8 FS=724f
EDX=00000000 ES=0177 EDI=8192446c GS=0000
Bytes bei CS:EIP:
56 89 45 e8 89 45 e0 8d 45 10 c7 45 ec 42 00 00
Stapelwerte:
00000000 00000000 00000000 005b0044 780216cf 005b0024 004406f4 005b0054 005b0348 00435964 005b0034 004406f4 00000000 00000000 00000000 00000000
Dieser Dialog läßt sich nicht mehr beenden, weder mittels "Schliessen-Button", noch mit Taskmanagern oder anderen Prozesskillern. Jedes mal geht sofort danach das Fenster wieder auf. Win98 muß beendet werden (bzw. der Rechner muß gnadenlos abgeschaltet werden, weil Win98 diese Meldung nicht schließt), um die Meldung loszuwerden.
Kompiliere ich den Source aber als EXE Datei (ohne Debugger), dann kann ich die Exe normal starten und auch fehlerfrei wieder beenden.
Edit: Hmm, vielleicht ist meine MSVCRT.dll zu alt? Ist Version 6.00.9782.0 - War da nicht was, daß viele PB 4.20er Libs jetzt mit Visual C 8 compiliert wurden, statt Version 6? Die MSVCRT.dll gehört doch zu dem Visual C Paket und muß/sollte mit ausgeliefert werden, wenn man Programme damit erstellt. Wo bekomme ich nun eine 8er Version von der DLL her? Ich habe kein Visual C auf meinem Rechner.