Einzelnen Beitrag anzeigen

HintByError

Registriert seit: 13. Dez 2018
Ort: Marburg
20 Beiträge
 
Delphi XE2 Professional
 
#3

Der Hinweis ist nicht zutreffend.

  Alt 22. Dez 2018, 15:05
Im Demoprogramm zeigt sich im Debugger, dass die Handle PaintBox1.Canvas.Handle gültig bleibt, d. h., nicht den Wert 0 annimmt.

Es wundert mich warum die VCL die Zahl der offene Canvas-Handle-Nummern limitieren sollte. Die verfügbaren Handle-Nummern werden vom Betriebssystem verwaltet und sind von dessen Seite „limitiert“. Prinzipiell können bei 32-Bit-Betrieb in dem Pool der Canvas-Handle-Nummern 4 Milliarden Nummern angelegt werden, was dann einem Speichervolumen von 16 Gigabyte bei einem Adressraum vom maximal 4 Gigabyte entspricht.

Wenn ich ein Formular mit 5 TPaintBox-Instanzen anlege und die gleichzeitig offenen Handle-Nummern mittels der Anweisung
Code:
  ShowMessage(IntToStr(PaintBox1.Canvas.Handle) + #13#10 +
    IntToStr(PaintBox2.Canvas.Handle) + #13#10 + IntToStr(PaintBox3.Canvas.Handle)
    + #13#10 + IntToStr(PaintBox4.Canvas.Handle) + #13#10 +
    IntToStr(PaintBox5.Canvas.Handle));
ausgeben lasse, dann erhalte ich keinen Nullwert bei den Handlenummern. Siehe angehängtes Bild.
Miniaturansicht angehängter Grafiken
5-handle-nummern.png  
Wolfgang Sauer
  Mit Zitat antworten Zitat