AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Manche VCL-Komponenten grau wenn 64 Bit eingestellt
Thema durchsuchen
Ansicht
Themen-Optionen

Manche VCL-Komponenten grau wenn 64 Bit eingestellt

Ein Thema von Codehunter · begonnen am 20. Sep 2013 · letzter Beitrag vom 3. Nov 2013
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Manche VCL-Komponenten grau wenn 64 Bit eingestellt

  Alt 20. Sep 2013, 14:05
Hallo!

Ich habe einen seltsamen Effekt in der XE4-IDE: Ich habe ein VCL-Projekt, das ich für x64 kompilieren will (ist in der Projektverwaltung auch so eingestellt). Wenn ich dann in der Tool-Palette zu einem bestimmten Package gehe, dann sind dort die Komponenten ausgegraut und inaktiv. Soweit das normale Verhalten wenn das betreffende Komponenten-Package nur in 32 Bit vorliegt.

So nun kommts aber: Das Package liegt sowohl als 32- als auch als 64 Bit vor, ist vollständig kompiliert und installiert. Wenn ich im Projekt vorübergehend 32 Bit als Zielplattform einstelle, dann die Komponente aufs Form lege und dann wieder 64 Bit einstelle, kompiliert das Projekt ganz problemlos.

Woher kommt dieses Verhalten der IDE und was muss ich ändern damit man zum Ablegen der Komponenten nicht jedesmal erst in den 32-Bit-Modus umschalten muss?

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Manche VCL-Komponenten grau wenn 64 Bit eingestellt

  Alt 2. Nov 2013, 19:24
*hochschubs*

Kennt das wirklich niemand? Ich habe grad wieder mal die 64-Bit-Edition von SpTBXLib installiert und habe dort genau den selben Effekt wieder auf einem ganz anderen Rechner.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

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

AW: Manche VCL-Komponenten grau wenn 64 Bit eingestellt

  Alt 2. Nov 2013, 19:34
Das kommt, wenn der Komponenten-Hersteller geschludert hat. Wenn der x64-Compiler die Komponente übersetzen kann, dann heißt dies, dass deren Code kompatibel zu 64-Bit ist. Das ist schon mal was wert.

Der IDE muss man aber mitteilen, welche Komponente für welche Plattform verfügbar ist. Win32, Win64, MacOS, iOS oder Android. Das geht über das Attribut "ComponentPlatformsAttribute", welches man der Komponenten-Klasse voranstellen muss.

Soll eine Komponente also für alle Plattform verbastelt werden können, sähe die dafür notwendige Zeile wie folgt aus:
[ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidOSX32 or pidiOSSimulator or pidiOSDevice or pidAndroid)] Wenn Du Zugriff auf die Komponenten-Packages hast und sie selbst neu übersetzen kannst, wird es am leichtesten sein, o.g. Zeile manuell hinzuzufügen. Falls dies keine Option darstellt, würde ich dem Komponenten-Hersteller mal kräftig auf die Füße treten.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Manche VCL-Komponenten grau wenn 64 Bit eingestellt

  Alt 2. Nov 2013, 20:52
Ok, da bin ich ja schon mal schlauer

Wobei ich an der Erklärung eine Sache nicht verstehe: Wenn ich in XE4 eine Komponente selber code und das Package auch selbst erstelle und dort NIRGENDS was von ComponentPlatformsAttribute angebe, funktioniert das trotzdem ganz normal in der IDE.

Davon abgesehen scheint es so, als müsste man ComponentPlatformsAttribute im type-Abschnitt vor jeder einzelnen Komponenten-Deklaration angeben. Es wirkt sich nur auf die nächste folgende Deklaration aus. Oder sehe ich das falsch?
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

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

AW: Manche VCL-Komponenten grau wenn 64 Bit eingestellt

  Alt 2. Nov 2013, 20:57
Das ist richtig. Attribute wirken sich nur auf das jeweils nächste Element aus.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Manche VCL-Komponenten grau wenn 64 Bit eingestellt

  Alt 2. Nov 2013, 21:21
Nun gut, dann gibts da bei der SpTBXLib ja einiges einzufügen ^^ Da frag ich mich, warum das nicht gemacht wurde wenn da ausdrücklich mit x64 geworben wird

Wobei ich SpTBX an der Stelle eh nicht ganz verstehe: Die SpTBX-Distri soll 100% x64-tauglich sein, braucht aber zum Kompilieren die Toolbar 2000 und die ist per se nicht x64-fähig. Jordan Russell macht da anscheinend auch nichts mehr dran. Irgendwo habe ich mal gelesen, SpTBX hätte sich von der TB2K unabhängig gemacht aber bei den Sourcen sieht es nicht so aus. Schon seltsam das alles...

Allerdings sind die SpTBX-Kompos auch wirklich schöne Komponenten, auf die ich nicht gern verzichten mag. Wenn ich sehe was die VCL da so anbietet (TToolBar, TRibbon, etc.) oder auch teure Kaufkomponenten (z.B. TMS), dann gefallen mir die alten Teile noch am allerbesten.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.588 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Manche VCL-Komponenten grau wenn 64 Bit eingestellt

  Alt 2. Nov 2013, 23:24
braucht aber zum Kompilieren die Toolbar 2000 und die ist per se nicht x64-fähig
Ich halte von den Komponenten zwar nix, aber das sind ja nur sehr kleine Änderungen, die für 64-Bit nötig sind...
Grad kurz getestet, einfach den Fehlermeldungen folgen, es reicht fast schon alle Listen generisch zu machen, die in der Toolbar 2000 benutzt werden.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Manche VCL-Komponenten grau wenn 64 Bit eingestellt

  Alt 3. Nov 2013, 10:28
Hallo Sebastian,

die Änderungen an der Toolbar 2000 sind ja kein Problem und schon lange erledigt. Es ist nur seltsam dass der eine Teil mit 100% 64-Bit-Support wirbt und dieser Teil dann auf einem anderen Teil aufsetzt der eben genau das nicht kann.

Ich komme irgendwie immer wieder auf SpTBX zurück, wenn ich irgendwo Toolbars einsetzen will. Sie funktionieren technisch ganz anders als die VCL-Toolbar. Es ist wahrscheinlich Geschmackssache.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  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 14:51 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