AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente für 32 als auch 64 Bit

Ein Thema von JYPDWhite · begonnen am 8. Jun 2017 · letzter Beitrag vom 9. Jun 2017
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.758 Beiträge
 
Delphi 12 Athens
 
#1

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 16:27
Delphi-Quellcode:
type
  [ComponentPlatformsAttribute(pidWin32 or pidWin64)] // Only supported on Win32 and Win64
Das ist aber nur notwendig, wenn das Package Komponenten enthält, die nicht für alle Plattformen des Projekts verfügbar sind.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#2

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 16:30
Nur mal interessehalber, ich gehe davon aus das dies hier nicht funktiniert:

Delphi-Quellcode:
type
  [ComponentPlatformsAttribute(pidWin32)] // Only supported on Win32
  TMyComponent = class(TComponent)
  private
    ...
  end;

type
  [ComponentPlatformsAttribute(pidWin64)] // Only supported on Win64 slighlty different
  TMyComponent = class(TComponent)
  private
    ...
  end;
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 16:35
Nur mal interessehalber, ich gehe davon aus das dies hier nicht funktiniert:

Delphi-Quellcode:
type
  [ComponentPlatformsAttribute(pidWin32)] // Only supported on Win32
  TMyComponent = class(TComponent)
  private
    ...
  end;

type
  [ComponentPlatformsAttribute(pidWin64)] // Only supported on Win64 slighlty different
  TMyComponent = class(TComponent)
  private
    ...
  end;
Du meinst 2 * der gleiche Name aber unterschiedlich in der Platform?

Nein das geht nicht. Es gelten ja die normalen Regeln für den Compiler. Das andere sind Attribute die zur Runtime ausgewertet werden
Fritz Westermann
  Mit Zitat antworten Zitat
JYPDWhite

Registriert seit: 29. Sep 2010
28 Beiträge
 
#4

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 16:57
Normalerweise sollte es genügen, wenn du das Laufzeit-Packge bzw. das Entwurfs- und Laufzeit-Package mit beiden Plattformen anlegst. Wichtig ist, daß beim Compilieren des Win32-Package die Win64-Plattform schon vorhanden ist. Diese Information wird im Win32-Package hinterlegt, denn das ist ja das, was die IDE lädt.
Habe ich eigentlich probiert hat bei mir im Test nicht funktioniert.
Ich habe jetzt im Anhang eine Testkomponente die unter 32 Bit verwendbar ist und unter 64 Bit nicht. Eventuell kommen wir ja so weiter.

Edit: Verwendete Delphiversion ist XE²
Angehängte Dateien
Dateityp: 7z Komponententest.7z (3,6 KB, 8x aufgerufen)

Geändert von JYPDWhite ( 8. Jun 2017 um 16:58 Uhr) Grund: Delphiversion hinzugefügt
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#5

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 17:01
Ok, dann vielleicht in Kombination mit $IFDEFs, die Attribute steuern dann wohl nur die Anzeige im Designer.
Macht aber wahrscheinlich sowieso wenig Sinn so extrem unterschiedliche Versioen zu haben,
dass man verschiedene Klassen bräuchte.
Ich würds definitiv dann auch eher in Unterklassen auslagen was spezifisch ist.

Rollo
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 17:12
Normalerweise sollte es genügen, wenn du das Laufzeit-Packge bzw. das Entwurfs- und Laufzeit-Package mit beiden Plattformen anlegst. Wichtig ist, daß beim Compilieren des Win32-Package die Win64-Plattform schon vorhanden ist. Diese Information wird im Win32-Package hinterlegt, denn das ist ja das, was die IDE lädt.
Habe ich eigentlich probiert hat bei mir im Test nicht funktioniert.
Ich habe jetzt im Anhang eine Testkomponente die unter 32 Bit verwendbar ist und unter 64 Bit nicht. Eventuell kommen wir ja so weiter.

Edit: Verwendete Delphiversion ist XE²
Verwende ein Projekt für das Runtimepackage. Kompiliere dieses für beide Plattformen.
DAs Designtimepackage natürlich nur 32 Bit, geht auch nicht anders.
Das sollte reichen....
Fritz Westermann
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.758 Beiträge
 
Delphi 12 Athens
 
#7

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 17:56
Verwende ein Projekt für das Runtimepackage. Kompiliere dieses für beide Plattformen.
Ich denke, das ist wohl die Ursache für das Problem.

Wie schon erwähnt, vermerkt die IDE beim Compilieren des Win32-Runtime-Package, daß dies auch für andere Plattformen (hier Win64) verfügbar ist. Diese Information zieht es aus der Liste der Zielplattformen des Package-Projekts.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
JYPDWhite

Registriert seit: 29. Sep 2010
28 Beiträge
 
#8

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 20:08
Das habe ich gerade noch mal ausprobiert.
Sprich ich habe eine Projektgruppe die zwei Packages enthält.
1. Package was Runtime ist und als Buildziele sowohl 32 als auch 64 Bit hat.
2. Design Package (32 Bit)

Ich habe erst 32 Bit Runtime dann 64 Bit Runtime und und dann das Design Package kompiliert und zum Schluss das Design Package installieren lassen.
Führt immernoch dazu das mir die IDE anzeigt dass die Komponente nur für 32 Bit geeignet ist. Projetk siehe Anhang.
Angehängte Dateien
Dateityp: 7z Komponententest.7z (8,8 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 20:45
DAs Designtimepackage natürlich nur 32 Bit, geht auch nicht anders.
Das soll sich ja bald ändern ... die IDE in 64 Bit, das wird vielleicht ein "Spaß".
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Komponente für 32 als auch 64 Bit

  Alt 8. Jun 2017, 22:19
Zitat:
Das soll sich ja bald ändern ... die IDE in 64 Bit, das wird vielleicht ein "Spaß".
Na immerhin hast Du Humor....
an das Drama will ich noch gar nicht denken....
Fritz Westermann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 13:43 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