xbpBitmap hängt bei loadfile
Moderator: Moderatoren
-
- Cut&Paste-Entwickler
- Beiträge: 42
- Registriert: Do, 12. Feb 2009 11:30
- Danksagung erhalten: 2 Mal
xbpBitmap hängt bei loadfile
Hallo Zusammen,
ich habe ein Problem beim Laden bestimmter JPG-Dateien mit der LoadFile-Methode eines xbpBitmap Objektes.
Mein Code sieht etwa so aus:
function LoadJpgDatei(cFilename)
local oPS := oCrtCover:PresSpace()
local oImage := XbpBitmap():new():create(oPs)
oImage:LoadFile(cFileName)
.....
Bei 99% der JPG-Dateien klappt der Code wunderbar, die Datei wird korrekt angezeigt.
Bei einigen JPG-Dateien hängt sich das Xbase++ Programm jedoch auf. (nach dem LoadFile())
Die Dateien können im Windows-Explorer aber problemlos angezeigt werden.
Die Dateigröße einer Musterdatei lag bei 1.2 MByte. Andere Dateien, die viel größer sind werden jedoch problemlos angezeigt, so dass es nicht an der Dateigröße liegen kann.
Wie kann ich diesen Mist abfangen. Ich muss irgendwie vor dem LoadFile() feststellen können, ob ich die Datei geladen bekomme.
Vielleicht hat ja einer eine Idee.
Vielen Dank für Eure Hilfe.
Bitmusterschuster
ich habe ein Problem beim Laden bestimmter JPG-Dateien mit der LoadFile-Methode eines xbpBitmap Objektes.
Mein Code sieht etwa so aus:
function LoadJpgDatei(cFilename)
local oPS := oCrtCover:PresSpace()
local oImage := XbpBitmap():new():create(oPs)
oImage:LoadFile(cFileName)
.....
Bei 99% der JPG-Dateien klappt der Code wunderbar, die Datei wird korrekt angezeigt.
Bei einigen JPG-Dateien hängt sich das Xbase++ Programm jedoch auf. (nach dem LoadFile())
Die Dateien können im Windows-Explorer aber problemlos angezeigt werden.
Die Dateigröße einer Musterdatei lag bei 1.2 MByte. Andere Dateien, die viel größer sind werden jedoch problemlos angezeigt, so dass es nicht an der Dateigröße liegen kann.
Wie kann ich diesen Mist abfangen. Ich muss irgendwie vor dem LoadFile() feststellen können, ob ich die Datei geladen bekomme.
Vielleicht hat ja einer eine Idee.
Vielen Dank für Eure Hilfe.
Bitmusterschuster
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9357
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: xbpBitmap hängt bei loadfile
Hast Du hier schon mal nachgeschaut?
http://www.alaska-software.com/scripts/ ... PDRID=6443
Oder hier?
http://www.alaska-software.com/scripts/ ... PDRID=6349
http://www.alaska-software.com/scripts/ ... PDRID=6443
Oder hier?
http://www.alaska-software.com/scripts/ ... PDRID=6349
Herzlich,
Tom
Tom
Re: xbpBitmap hängt bei loadfile
Hallo
lade doch so ein problematisches JPG hoch, dann könnte ich es mit meinem Xbase-Viewer versuchen ob es da auch hängen bleibt.
(Vorausgesetzt es ist kein geheimes oder gar anstößiges Bild)
lade doch so ein problematisches JPG hoch, dann könnte ich es mit meinem Xbase-Viewer versuchen ob es da auch hängen bleibt.
(Vorausgesetzt es ist kein geheimes oder gar anstößiges Bild)
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: xbpBitmap hängt bei loadfile
leider ist JPG nicht == JPG ... Die Hersteller "missbrauchen" gerne den (Exif) HeaderBitmusterschuster hat geschrieben:oImage:LoadFile(cFileName)
.....
Bei 99% der JPG-Dateien klappt der Code wunderbar, die Datei wird korrekt angezeigt.
Bei einigen JPG-Dateien hängt sich das Xbase++ Programm jedoch auf. (nach dem LoadFile())
versuche es mit einem BEGIN SEQUENCE / RECOVER / ENDBitmusterschuster hat geschrieben:Wie kann ich diesen Mist abfangen. Ich muss irgendwie vor dem LoadFile() feststellen können, ob ich die Datei geladen bekomme.
Code: Alles auswählen
bSaveError := ErrorBlock()
ErrorBlock( {|e| Break(e)} )
BEGIN SEQUENCE
oImage:LoadFile(cFileName)
RECOVER
ErrorBlock( bSaveError )
// was tun wenn Error
RETURN .F.
END
ErrorBlock( bSaveError )
alternative kann du die CLASS TIPicture von Pablo mit ot4xb (http://www.xbwin.Com) versuchen.
gruss by OHR
Jimmy
Jimmy
Re: xbpBitmap hängt bei loadfile
Hallo Jimmy
das mit dem Error-Abfangen wäre ja die einfachste Übung. Er schreibt ja das sich das Programm "aufhängt"´. Da hätte ich jetzt eher vermutet dass eben kein Fehler kommt sondern das Programm nicht mehr reagiert. Mal sehen wie die Antwort aussieht.
das mit dem Error-Abfangen wäre ja die einfachste Übung. Er schreibt ja das sich das Programm "aufhängt"´. Da hätte ich jetzt eher vermutet dass eben kein Fehler kommt sondern das Programm nicht mehr reagiert. Mal sehen wie die Antwort aussieht.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9357
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: xbpBitmap hängt bei loadfile
Wahrscheinlich würde die Einbettung in eine Sequenz dafür sorgen, dass die Anwendung nicht mehr abschmiert, wenn sie das denn überhaupt tut (Bitmusterschuster sprach ja von "Aufhängen", also einem Freeze), dann aber nicht mehr das leisten, was der Anwender erwartet, nämlich ein Bild anzeigen. Man müsste das also mindestens um irgendeine Information ergänzen oder ein Platzhalter-Bildchen anzeigen, auf dem beispielsweise "Das Bild kann leider nicht angezeigt werden" stehen könnte. Aber auch das wäre letztlich nicht sehr befriedigend.
Ich gehe allerdings davon aus, dass es sich um eines der in den verlinkten PDRs beschriebenen Probleme handelt, also ein Fix oder Workaround existiert, den man einfach einbinden kann.
Ich gehe allerdings davon aus, dass es sich um eines der in den verlinkten PDRs beschriebenen Probleme handelt, also ein Fix oder Workaround existiert, den man einfach einbinden kann.
Herzlich,
Tom
Tom
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: xbpBitmap hängt bei loadfile
hm ... bei den PDRs steht :Tom hat geschrieben:... verlinkten PDRs beschriebenen Probleme handelt, also ein Fix oder Workaround existiert, den man einfach einbinden kann.
also sind das keine Hotfixe ?A work-around for this problem is available upon request.
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: xbpBitmap hängt bei loadfile
hi,
ich habe ein ähnliches Problem im WMP wo sich ein Video nicht laden lässt so gelöstich starte also vorher einen Thread und lasse ihm 3 Sekunden zum laden.
wenn innerhalb der Zeit das Video geladen werden kann wird der Thread storniert, sonst wird er ausgeführt was in diesem Fall ein re-start der Applikation wäre.
ich habe ein ähnliches Problem im WMP wo sich ein Video nicht laden lässt so gelöst
Code: Alles auswählen
oStart := Thread() :new()
oStart:setStartTime( SECONDS() + 3 )
oStart:start( { || Machwas() } )
//
// hier Versuch das Video zu laden
//
// wenn es gelingt
oStart:setInterval( NIL )
wenn innerhalb der Zeit das Video geladen werden kann wird der Thread storniert, sonst wird er ausgeführt was in diesem Fall ein re-start der Applikation wäre.
gruss by OHR
Jimmy
Jimmy