AW: VCL zu Non-VCL
https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx
Man darf laut MS keine selektierten GDI-Objekte löschen, was aber in vielen Beispielen und Sourcen im INet nicht beachtet wird!? Unter Win31 endete es schenll ganz böse, wenn das nicht beachtet hat, heute is die WinApi etwas robuster, aber es macht auf Dauer auch Probleme. => als benötigt man doch entweder den "OldBrush", oder man selektiert vor dem löschen etwas internes per "GetStockObject" |
AW: VCL zu Non-VCL
Und OldBrush hat einen Vorteil.
Wenn außenrum eine große Zeichenroutine ist und mitten drin dein Code, dann kann es sein, dass danach andere Dinge mit dem falschen Brush weitergezeichnet werden, wenn du es nicht zurücksetzt. |
AW: VCL zu Non-VCL
Zitat:
Und warum tut es MS nicht selbst. Sehe nirgends etwas von OldPen, OldBrush usw.. https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx Ein Widerspruch in sich oder? Zitat:
gruss |
AW: VCL zu Non-VCL
Meiner Meinung nach hat Himitsu hier recht
Das Beispiel in MSDN ist total Schrott Schau Dir mal das an: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx Und wenn Du dabei bist auch noch: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx Die GDI ist zwar robuster geworden aber es schadet bestimmt nicht wenn man sich an die Regeln hält |
AW: VCL zu Non-VCL
Zitat:
Meine verlinkten oder deine verlinkten. Es ist mir jetzt zu mühselig das nachzuvollziehen was, wo , wer denn nun recht hat. Ich sehe nur das ein und das gleiche Unternehmen unterschiedliche Interpretationen wieder gibt. Natürlich, man kann nun hingehen und das für sich passende heraussuchen um gegen zu argumentieren. Aber das erspare ich mir einfach. Zitat:
Wenn wie in meinen Links ersichtlich die MSDN es selbst nicht mal tut. gruss |
AW: VCL zu Non-VCL
In der Dokumentation zur Funktion steht, man sollte es nicht tun. Dann ist doch schnurz, was in in irgendwelchen Beispielen steht! :roll:
|
AW: VCL zu Non-VCL
Zitat:
Sorry deine Aussage ist nicht qualifiziert genug. Zitat:
Delphi-Quellcode:
SelectObject(FWindowDC, OldBrush);
if DeleteObject(Brush) then SelectObject(FOldWindowDC, FWindowBitmap);
Delphi-Quellcode:
Jeder kann sich nun aussuchen was er denn nun gerne hätte.
//SelectObject(FWindowDC, OldBrush);
if DeleteObject(Brush) then SelectObject(FOldWindowDC, FWindowBitmap); Qualifikation! Für mich zählt das Ergebnis und das ist in beiden fällen True (Das Object wurde freigegeben und ich hab kein Speicherleck). Widerlege mir das dann können wir darüber weiter diskutieren. gruss |
AW: VCL zu Non-VCL
|
AW: VCL zu Non-VCL
Zitat:
Hat nichts mit einem Bitmap zu tun. (Hintergrundfarbe Window\Form) gruss |
AW: VCL zu Non-VCL
Was ist NON-VCL?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 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