AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi BitBlt liefert nur weiß als Ergebnis (gelöst)
Thema durchsuchen
Ansicht
Themen-Optionen

BitBlt liefert nur weiß als Ergebnis (gelöst)

Ein Thema von Muhkopp · begonnen am 29. Sep 2015 · letzter Beitrag vom 29. Sep 2015
Antwort Antwort
Muhkopp

Registriert seit: 1. Feb 2015
4 Beiträge
 
#1

BitBlt liefert nur weiß als Ergebnis (gelöst)

  Alt 29. Sep 2015, 14:39
Hallo liebe Delphianer

Ich sitze gerade vor einem misteriösen Phänomen und hatte gehofft, dass jemand von euch damit schon Erfahrungen hat.

In einem Programm dass seit WinXP gepflegt wird, wird an einer Stelle ein Screenshot von einem parallel laufenden Programm gemacht und dann weiter verarbeitet.
Bisher lief das auch völlig reibungslos.

Der Versuch auf Windows 10 hingegen scheitert leider kläglich:
hier liefert der Kopierversuch ein korrekt großes, aber komplett weißes Bitmap zurück.

Der Verdacht liegt also nahe, dass es bei Windows 10 eine Besonderheit zu beachten gibt.

Der Vollständigkeit halber hier der entsprechende Aufruf:

BitBlt(bm.Canvas.Handle, 0, 0, bm.Width, bm.Height, GetWindowDC(myhwnd), 0, 0, SRCCOPY); bm ist ein TBitmap in der richtigen Größe (natürlich auch mit angelegtem Speicher) und myhwnd ist ein (zumindest in den anderen Versionen) korrekt erzeugtes Handle.



NACHTRAG:
Der Fehler lag leider an meiner Unbedachtheit.
Ich hatte die Windows 10 Testumgebung auf einer virtuellen Maschine aufgesetzt, diese produziert den oben beschriebenen Fehler.
Unter einem "normalen" Windows 10 Rechner funktioniert alles wieder wie gewohnt.
Also merke: keine Testumgebungen mit VMWare erstellen

Geändert von Muhkopp (29. Sep 2015 um 16:29 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: BitBlt liefert nur weiß als Ergebnis (Windows 10)

  Alt 29. Sep 2015, 15:31
WinXP gepflegt wird, wird an einer Stelle ein Screenshot von einem parallel laufenden Programm gemacht und dann weiter verarbeitet.
Bisher lief das auch völlig reibungslos.
Bisher auch auf Windows Vista, 7, 8.0 und 8.1?
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: BitBlt liefert nur weiß als Ergebnis (Windows 10)

  Alt 29. Sep 2015, 15:45
Ist das Window, das mit myhwnd angesprochen wird, auch vollständig visuell sichtbar? Teilweise sichtbar reicht nicht für BitBlt.

Wo ist eigentlich der zum GetWindowDC passende ReleaseDC aufruf? Oder ist das GDI-Handle Leak Absicht?
  Mit Zitat antworten Zitat
Muhkopp

Registriert seit: 1. Feb 2015
4 Beiträge
 
#4

AW: BitBlt liefert nur weiß als Ergebnis (gelöst)

  Alt 29. Sep 2015, 16:32
... manchmal steht man einfach auf dem schlauch...

ich wollte gerade zurück schreiben, als mir die "lösung" (oder besser: die ursache) durch den kopf gezuckt kam (siehe edit vom ersten post)

vielen dank trotzdem für die antworten
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz