Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bluescreen-Programm (https://www.delphipraxis.net/49604-bluescreen-programm.html)

MasterDG 19. Jul 2005 15:52

Re: Bluescreen-Programm
 
Hallo!

Also ich habe dein Code verstanden und der hat auch in meinem Programm funktioniert. Jedoch wollte ich das Programm bei einem Freund testen der einen Bluescreen und ne gute Kamera hat. Bisher hab ich es ja nur per Webcam getestet.

Das Problem ist dass er einen Zugriffsfehler bekommt. Das Anzeigen der Kamera klappt gut. Das kopieren in ein Image32 auch. Ich weiß nicht exakt wo der Fehler liegt, aber ich vermute dass bei ihm das zuweisen einer Farbe zu einem Pointer nicht klappt und die Fehlermeldung bringt. Sind halt alles Spekulationen...

Kann mir jemand evt. einen Tipp geben was da schief läuft?

Hier der Code, wo ich die Fehlermeldung vermute:
Delphi-Quellcode:
maxPixel := ilive.Bitmap.Width * ilive.Bitmap.Height - 1;
Livecol := @ilive.Bitmap.Bits[0];
Videocol := @ivideo.Bitmap.Bits[0];
for i := 0 to maxPixel do begin
if ((Livecol^ and $FF) < Red) or (((Livecol^ div 256) and $FF) < Green)
   or (((Livecol^ div 65536) and $FF) > Blue) then Videocol^ := Livecol^; // <-- evt. hier
Inc(Livecol);
Inc(Videocol);
end;
Red, Green, Blue sind Werte die zum entfernen der blauen Flächen sind.

Gruß
MasterDG

Delphi-Freak 19. Jul 2005 21:02

Re: Bluescreen-Programm
 
Hi!
Eine AV - oje :wink:
Livecol und Videocol haben sicher die gleiche Breite und Höhe? Das könnte IMHO der einzige Grund für eine AV sein.
Tritt die AV eigentlich nur bei deinem Freund, oder auch bei dir auf?
Übrigens »shl 8« macht das gleiche wie »div 256« (bzw. »shl 16« und »div 65536«) und ist AFAIK schneller, da einfach die Bits verschoben werden. Bei »div i« könnte es ja auch passieren, dass die Bits nicht einfach verschoben werden können (wenn i <> 2^1 und i <> 2^2 und i <> 2^3 usw.), was es dann langsamer machen könnte...

LG, ich

MasterDG 20. Jul 2005 08:13

Re: Bluescreen-Programm
 
Hallo!

Das Problem tritt nur bei meinem Freund auf. Bei mir hat alles funktioniert. Livecol und Videocol haben die gleiche Größe (320x240). Ich habe alles versucht das hinzubekommen. Es hat bisher nicht geklappt.

Nun habe ich in der Hilfe ein bischen gesucht und Bitmap.SetPixelT(Ptr:PColor32,Tcolor32) gefunden. Habe es in mein Programm eingebaut und es funktioniert genauso. Kann ich damit die Fehlermeldung verhindern?

Gibt es Programme die vieleicht im Hintergrund laufen und die Funktion meines Programmes stören könnten? Er hatte auf dem Rechener Adobe Premiere laufen. Jedoch auch als er das beendet hat kam soweit ich weiß der Fehler.

Ach ja, danke für den Tipp mit shl8 und shl 16! Werde es gleich in meinem Programm ändern!

Gruß
MasterDG

Delphi-Freak 20. Jul 2005 10:13

Re: Bluescreen-Programm
 
Zitat:

Zitat von MasterDG
Das Problem tritt nur bei meinem Freund auf. Bei mir hat alles funktioniert.

Auweh, AVs die nur auf manchen Rechnern auftreten. Da habe ich dann keine Ahnung...
Zitat:

Zitat von MasterDG
Nun habe ich in der Hilfe ein bischen gesucht und Bitmap.SetPixelT(Ptr:PColor32,Tcolor32) gefunden. Habe es in mein Programm eingebaut und es funktioniert genauso. Kann ich damit die Fehlermeldung verhindern?

Die Funktion SetPixelT ist mir eigentlich noch nicht untergekommen, aber probieren kannst du's ja.
Zitat:

Zitat von MasterDG
Gibt es Programme die vieleicht im Hintergrund laufen und die Funktion meines Programmes stören könnten? Er hatte auf dem Rechener Adobe Premiere laufen. Jedoch auch als er das beendet hat kam soweit ich weiß der Fehler.

Kann ich mir eigentlich nicht vorstellen.
Zitat:

Zitat von MasterDG
Ach ja, danke für den Tipp mit shl8 und shl 16! Werde es gleich in meinem Programm ändern!

NEEEIIIN, tschuldige, das muss shr 8 bzw. shr 16 heißen, die Bits müssen ja nach rechts verschoben werden. :oops: :oops:

Leider weiß ich dann den Fehler (oder nicht-Fehler???) nicht. Könntest du mir vielleicht das Projekt schicken (z.B. via PN), damit ich mir das etwas genauer anschauen kann? (Natürlich nur in deinem Sinn, also wenn du's willst!)

LG, Delphi-Freak

MasterDG 21. Jul 2005 15:55

Re: Bluescreen-Programm
 
Hallo!

Danke für das Angebot, dass du dir mein Programm mal ansiehst und nach dem Fehler suchst. Ich habe es mal mit SetPixelT versucht und siehe da es geht ohne Fehlermeldung. Anscheinend ist diese Methode die sicherere. Ich weiß immer noch nicht ganz wieso der Fehler nur bei meinem Freund auftrat, ist aber jetzt auch egal, es geht ja :-D !

Und wegen shr(l) 8 und 16. Ich hab es mal ausprobiert gehabt und es hat nicht funktioniert. Da du jetzt sagst dass es shr anstatt shl ist wird mir das klar. :-D

Also nochmal vielen Dank für deine Hilfe.

Gruß
MasterDG

Delphi-Freak 21. Jul 2005 15:58

Re: Bluescreen-Programm
 
Nochmal tschuldige wegen dem shr.
Super aber, dass es jetzt funkioniert!!

LG


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz