AGB  ·  Datenschutz  ·  Impressum  







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

Komponente auch für 64 Bit fit machen

Ein Thema von TurboMagic · begonnen am 27. Feb 2021 · letzter Beitrag vom 4. Mär 2021
Antwort Antwort
Seite 1 von 2  1 2      
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#1

Komponente auch für 64 Bit fit machen

  Alt 27. Feb 2021, 18:07
Hallo,

was muss ich tun um diese bisher nur auf 32 Bit ausgelegte Komponente auch 64 Bit
tauglich zu machen?

Ich meine jetzt weniger den Code, das denke ich weiß ich, sondern wie muss ich das Package anpassen etc.

Das wäre (in einer etwas verbesserten Form) nämlich ein weiterer Kandidat zum OpenSOurce publizieren
und bei GetIt einreichen...

Grüße
TurboMagic
Angehängte Dateien
Dateityp: zip Cpdrv.zip (70,9 KB, 18x aufgerufen)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: Komponente auch für 64 Bit fit machen

  Alt 27. Feb 2021, 18:10
Zitat:
Ich meine jetzt weniger den Code, das denke ich weiß ich, sondern wie muss ich das Package anpassen etc.
ich bin sicher die falsche Person die man fragen sollte. Aber ich verstehe die Frage nicht?
Wenn ich eine Komponente habe, erstelle ich ein ganz normales Package, kompiliere und installiere es ohne irgendwas an der Bittigkeit in der IDE einzustellen.
Die Pfade zu den Sources füge ich dann in den Bibliothekspfaden bei 32- und 64bit ein. Das wars.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Komponente auch für 64 Bit fit machen

  Alt 27. Feb 2021, 23:16
was muss ich tun um diese bisher nur auf 32 Bit ausgelegte Komponente auch 64 Bit
tauglich zu machen?

Ich meine jetzt weniger den Code, das denke ich weiß ich, sondern wie muss ich das Package anpassen etc.
Erstmal die 32 aus dem Namen entfernen, aber dafür ein passendes LIBSUFFIX angeben, damit man die BPL auch einer Delphi-Version zuordnen kann. Vielleicht auch nochmal den Package-Namen überdenken.

Ganz wichtig: Das Package in ein Runtime- und ein Designtime-Package splitten.

Hier gibt es ein paar weitere sehr gute Ratschläge: Advice for Delphi library authors

Hier auch: Delphi Library Guidelines

Wegen der 64-Bit brauchst du dem Runtime-Package bzw. den Runtime-Packages nur noch die passende Platform hinzufügen. Die Designtime-Packages bleiben bei 32-Bit, da die IDE nur 32-Bit haben will.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#4

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 07:59
Hallo,

danke mal für die Tipps, ein paar Fragen hätte ich aber noch:

1. In den EInstellungen für das Package habe ich in D10.4.2 als Libsuffix
dieses $(Auto) ausgewählt, was aber in der Hilfe leider nicht beschrieben ist.
Was genau bewirkt das und was ist mit älteren Delphi Versionen?

2. Wie splitte ich das in ein Designtime und ein Runtime Package?
Ich habe Packages bisher noch nicht entwickelt.

3. OT: warum ist meine Hilfe in 10.4.2 auf EN wo doch WIndows und Delphi
selbst DE sind?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.605 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 09:25
1. In den EInstellungen für das Package habe ich in D10.4.2 als Libsuffix dieses $(Auto) ausgewählt, was aber in der Hilfe leider nicht beschrieben ist.
Was genau bewirkt das und was ist mit älteren Delphi Versionen?
Es erzeugt das Suffix passend zur aktuell verwendeten Delphi-Version. Das klappt aber erst ab Delphi 10.4.1. Bei älteren Version gibt es entweder einen Fehler oder es wird genau diese Zeichenkette als Suffix verwendet: mypackage${auto}.bpl
(Ich habe es nicht ausprobiert.)

2. Wie splitte ich das in ein Designtime und ein Runtime Package?
Ich habe Packages bisher noch nicht entwickelt.
In das Designtime-Package gehören:
  • Die Register(...)-Aufrufe für die Komponenten
  • Die Icons für die Komponenten
  • Evtl. Property-Editoren

Generell: Alles, was zum Funktioneren die IDE benötigt.

3. OT: warum ist meine Hilfe in 10.4.2 auf EN wo doch WIndows und Delphi selbst DE sind?
Weil die IDE sich denkt: Da will einer programmieren, dann soll er auch gefälligst Englisch verstehen.

Nachtrag: Eine grundsätzliche Frage solltest Du Dir aber stellen:

Brauchst du überhaupt ein Runtime-Package? Ich persönlich habe so gut wie nie ein Programm mit Packages compiliert, fast immer wird der komplette Source in das Executable eingebunden. Ohne Runtime-Package ist die Frage ob 32 oder 64 Bit obsolete, denn 64 Bit gibt es nur für die Runtime-Packages.
Thomas Mueller

Geändert von dummzeuch ( 4. Mär 2021 um 09:28 Uhr)
  Mit Zitat antworten Zitat
Renate Schaaf

Registriert seit: 25. Jun 2020
Ort: Lippe
114 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 11:30
Zitat:
Brauchst du überhaupt ein Runtime-Package?
Ich wusste nicht, dass man design packages auch ohne runtime installieren kann, aber ich habs grad ausprobiert, Danke!!!
Goodbye package hell!

Gruß, Renate
Renate
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 12:06
In der englischen Hilfe steht es.
http://docwiki.embarcadero.com/RADSt...jects_(Delphi)

Standard ist Beides (muß mindestens als 32 Bit da sein, optional auch noch als 64 Bit für zusätzliche Runtime)
und es gibt RuntimeOnly (nur im Programm ... egal)
und auch DesignTimeOnly (nur in IDE ... kann nur 32 Bit sein, da IDE ausschließlich als 32 Bit)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Renate Schaaf

Registriert seit: 25. Jun 2020
Ort: Lippe
114 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 12:35
@Himitsu

Ja, ich hab mich zu früh gefreut. Jetzt will er in das design package alle units packen, die vorher im runtime waren. Auch die, die er zu design time gar nicht braucht. Vielleicht sollte ich dafür aber ein neues Thema anfangen. Ich schaff es immer wieder in package hell zu landen, weil alles, was die Komponenten brauchen, anscheinend immer in irgendwelchen packages sein muss.

@Dummzeuch

Wie hast du das gemeint mit nur in .exe einbinden?

Gruß, Renate
Renate
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 13:55
Das geht ja noch.

Ich hab nach jahre-/wochenlanger Suche nun endlich alle DesignTimePackages aus der Runtime raus, also im Programm wurden DesignTimePackages geladen,
auch DAS EINE Package (DesignIde), was man ja eigentlich nicht mitgeben dürfte und was im Programm eh nichts zu suchen hätte.



Im allgemeinen ist aber nichts dagegen einzuwenden, wenn die Designtime auch die Runtime benutzt.

Im Requires eines DesignTimePackage darf ein RuntimeOnlyPackage stehen, aber hiervon wird/darf nur das DesignTime-Package im delphi registriert/installiert werden. (das Andere wird einfach automatisch geladen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
647 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 14:09
@Himitsu

Ja, ich hab mich zu früh gefreut. Jetzt will er in das design package alle units packen, die vorher im runtime waren. Auch die, die er zu design time gar nicht braucht. Vielleicht sollte ich dafür aber ein neues Thema anfangen. Ich schaff es immer wieder in package hell zu landen, weil alles, was die Komponenten brauchen, anscheinend immer in irgendwelchen packages sein muss.

@Dummzeuch

Wie hast du das gemeint mit nur in .exe einbinden?

Gruß, Renate
Mach dir immer zuerst das Runtime Package ohne IDE Abhängikeiten und nutze dieses dann im Designpackage als required. Wenn du nur die Komponente ohne irgendwelche IDE Features nutzt (Propertyeditoren, etc.), brauchst du keine spezielles Design Package.

Also zuerst musst du immer das Runtimepackage erstellen und kompilieren und erst danach das Designtime, welches dann das Runtime Package nutzen soll.

Geändert von Rolf Frei ( 4. Mär 2021 um 14:13 Uhr)
  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 12:39 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