Forum: Cross-Platform-Entwicklung
by Rollo62,
22. Okt 2018
Ja das dachte ich zuerst auch.
Aber im Beispiel passiert das auch ohne das die Farbe mit PixelFormat im Canvas verwurstet wird.
Ich hatte es getestet indem ich z.B. Rectangle.Fill.Collor hole, lokal ändere und und schreibe,
aber im Demo arbeite ich bereits mit einer Schattenvariablen vom Typ TAlphaColor.
Das hat dann gar nichts mehr mit der Farbe und Canvas an sich zu tun.
Das kann es...
Forum: Cross-Platform-Entwicklung
by Rollo62,
22. Okt 2018
Ja, ich dachte mir das auch in die Richtung,
aber wegen Alpha = TAlphaColor($FF000000); sollte doch immer ein 32-Bit wert herauskommen, der nicht z.B. in 16.Bit passt.
Forum: Cross-Platform-Entwicklung
by Rollo62,
22. Okt 2018
Ja, stimmt, da hast du auch wieder Recht :oops:
Ich sag ja, ich kann mir das auch nicht erklären.
Vieleicht hat es was mit dem
Azure = Alpha or TAlphaColor($F0FFFF);
zu tun.
Hatte ja das PixelFormat in Verdacht, aber die Konvertierungsprobleme treten auch bei einer einfachen TAlphaColor Variablen auf.
Forum: Cross-Platform-Entwicklung
by Rollo62,
22. Okt 2018
case LCol of
TAlphaColorRec.Red : Result := TAlphaColorRec.Fuchsia;
Doch das könnte ja was damit zu tun haben, TAlphaColorRec.Red ist ein enum,
genau da funktioniert der Case nicht richtig.
Oder was meinst du genau mit den Records ?
Forum: Cross-Platform-Entwicklung
by Rollo62,
22. Okt 2018
Dankesehr für den Hinweis, könnte damit zusammenhängen.
Ich habe aber leider keine Zeit mehr weiter zu Testen, habe damit schon wieder 1 Tag verloren,
und muss ein paar Projekttermine einhalten.
Aber sind enums überhaupt variante record-Typen ?
Ich dachte immer die werden nur auf Cardinal projeziert.
Getestet habe ich nur unter iOS-64, ich weiss gar nicht wie ich nur unter iOS-32...
Forum: Cross-Platform-Entwicklung
by Rollo62,
22. Okt 2018
Nochmal weiter analysiert:
Laut DokWiki und
hier ist TAlphaColor = Cardinal = 32-Bit
Sollte also mit case of funktionieren.
Es scheint so als würden Vergleiche per "case of" unter iOS nicht zu funktionieren
Forum: Cross-Platform-Entwicklung
by Rollo62,
19. Okt 2018
Hallo zusammen,
was stimmt mit diesem Code nicht ?
Vergleiche eigentlich nur auf Standard-Farben von TAlphaColorRec, mit
dem aktuellen Wert, in diese Funktion.
case LCol of
TAlphaColorRec.Red : Result := TAlphaColorRec.Fuchsia;