AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Was steht unter XE6 in Vcl.ComCtrls.TToolBarStyleHook.ApplyImageList?

Was steht unter XE6 in Vcl.ComCtrls.TToolBarStyleHook.ApplyImageList?

Ein Thema von TiGü · begonnen am 21. Aug 2014 · letzter Beitrag vom 18. Sep 2014
Antwort Antwort
TiGü

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

AW: Was steht unter XE6 in Vcl.ComCtrls.TToolBarStyleHook.ApplyImageList?

  Alt 21. Aug 2014, 13:11
MSDN schreibt ausdrücklich, dass es sicher ist, die obere 32 Bit abzutrennen, wenn eine 32bit-Anwendung ein solches Handle erhalten soll.
Und eine 64-Bit-Anwendung?
Ist es da auch sicher?
Ich denke eher nicht!
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Was steht unter XE6 in Vcl.ComCtrls.TToolBarStyleHook.ApplyImageList?

  Alt 21. Aug 2014, 14:07
Nun, Handles lassen sich zwischen Prozessen austauschen - insbesondere auch zwischen 64bit- und 32bit-Prozessen. Da Windows nicht wissen kann, was Du mit dem Handle anstellen wirst, kann es eigentlich nur ein 32bit-kompatibles Handle sein, dass da ausgestellt wird.
Ich muss mal schauen, ob ich die Unterlagen und Quellen wiederfinde. Tenor von MS war: "Der Wertebereich von 32bit langt für den Zweck."
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
TiGü

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

AW: Was steht unter XE6 in Vcl.ComCtrls.TToolBarStyleHook.ApplyImageList?

  Alt 21. Aug 2014, 14:34
Könnte trotzdem jemand mal bitte in seinen XE6 VCL-Sourcen nachgucken? Das wäre lieb!
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Was steht unter XE6 in Vcl.ComCtrls.TToolBarStyleHook.ApplyImageList?

  Alt 21. Aug 2014, 14:41
Ist weiterhin als "Cardinal" deklariert.
Delphi XE6 20.0.15596.9843.


//edit: Ich sehe mal zu, heute Abend einen QC-Eintrag dafür zu erstellen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.395 Beiträge
 
Delphi 12 Athens
 
#5

AW: Was steht unter XE6 in Vcl.ComCtrls.TToolBarStyleHook.ApplyImageList?

  Alt 21. Aug 2014, 15:03
Wobei die 4 Milliarden Handles auch reichen sollte.

OK, oftmals sind das auch nur gekastete Pointer/ListenIndize, aber selbe bei der Beachtung von Signed und einem 8er Align, wären das immernoch über 268 Millionen und wie man das gerne bei den GDI-Handles sieht, sind die schon lange vorher "alle", womit der Wertebereich also locker reicht.

Einige Handle sind ja intern immernoch auf WORD begrenzt. Vielleicht ändert sich das mal, jetzt wo das 16-Bit-Subsystem langsam verschwindet.



Das Problem ist nun also, wenn der Code so im Prinzip eigentlich doch stimmt ... Warum knallt es hier nun eigentlich?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (21. Aug 2014 um 15:08 Uhr)
  Mit Zitat antworten Zitat
TiGü

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

AW: Was steht unter XE6 in Vcl.ComCtrls.TToolBarStyleHook.ApplyImageList?

  Alt 21. Aug 2014, 16:29
Das Problem ist nun also, wenn der Code so im Prinzip eigentlich doch stimmt ... Warum knallt es hier nun eigentlich?
Das frage ich mich auch!
Aber ich sehe halt, das mit entsprechenden Fix die Probleme in den C++Builder-VCL-Formularen verschwinden.

Kann es damit zu tun haben, dass wir in einer C#-WPF-Anwendung die C++-VCL-Formulare eingebettet haben?
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Was steht unter XE6 in Vcl.ComCtrls.TToolBarStyleHook.ApplyImageList?

  Alt 21. Aug 2014, 16:44
Nungut, Du wirst wohl nicht ewig Zeit haben, Dich jetzt noch mit dem Fehler zu befassen - zumal Ihr ihn ja für Euch korrigiert habt.
Aber die API-Funktion "SendMessage()" sollte doch auch bei mehrmaligen Aufruf stets das selbe Handle liefern. Man könnte es testweise sowohl in der 32bit- als auch in einer 64bit-Variablen speichern (über einen zweiten Aufruf) und schauen, ob tatsächlich derselbe Wert herauskommt.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 04:42 Uhr.
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