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
Renate Schaaf

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

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 11: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.584 Beiträge
 
Delphi 12 Athens
 
#2

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 12: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)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
657 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 13: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 13:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 14:07
Das "normale" RegisterClass/RegisterComponent/RegisterNoIcon muß nicht in ein DesignTimeOnlyPackage.
Diese Funktionen verstecken sich in System.Classes (wenn die System.Classes in der IDE geladen ist, dann trägt die IDE dort die Zeiger zu den DesignMethoden ein).
Delphi-Quellcode:
procedure Register;

implementation

procedure Register;
begin
  RegisterClass(TIrgendwas); //RegisterClasses([TIrgendwas, TNochmehr]);
end;
Also hier ein gemischtes Package für Design und Runtime zu nutzen, wäre OK,

aber wenn man ein DesignTimePackage hat, dann kann es auch dort rein, damit man sein Designzeugs zusammen hat.


Und ja, ansonsten gehört in Runtime keinerlei Designzeugs.


In die IDE muß es als Package rein,
ins Programm wird das Package nur geladen, wenn mit Laufzeitpackages kompilier wurde
und ansonsten würde der Code direkt in die EXE/DLL eingelinkt.

Im letzeren Fall muß auch der Bibliothekssuchpfad zu *.dcu oder *.pas eingetragen sein
und bei Laufzeitpackages muß der DCP-Suchpfad zur *.dcp existieren (die eigentlichen PAS/DCU hier unwichtig).
Die *.bpl müssen in einem Umgebungsvariable eingetragen sein, wenn die EXE sonst diese Packages nicht finden würde. (z.B. im Programmverzeichnis liegend)

Der Suchpfad zu den *.pas braucht man auch noch, wenn man sonst nur gegen die Packages kompiliert, aber die Units dennoch im Editor/Debugger finden möchte.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 4. Mär 2021 um 14:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

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

AW: Komponente auch für 64 Bit fit machen

  Alt 4. Mär 2021, 13:44
@Dummzeuch

Wie hast du das gemeint mit nur in .exe einbinden?
Ein Runtime Package wird nur dann im Programm verwendet, wenn in den Projekteinstellungen
  • "Build with runtime packages" eingeschaltet ist
  • das runtime package in der Liste darunter auch aufgeführt ist

Ansonsten wird immer der Sourcecode der Units aus dem Package in das Executable compiliert und man braucht zum Auführen des Programms dann das Package nicht.
Thomas Mueller
  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 16:59 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