AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Projekt mit Runtime-Packages compilieren - BPL nicht gefunden
Thema durchsuchen
Ansicht
Themen-Optionen

Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

Ein Thema von Codehunter · begonnen am 6. Okt 2014 · letzter Beitrag vom 9. Okt 2014
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#21

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 15:03
Package requires Klausel

Was da drin steht, wird als Package benötigt. Was nicht drin steht und im Package Code benutzt wird, wird implizit ins Package kompiliert (siehe W1033). Oder auch der Popup Dialog der dann kommt und dir sinngemäßg mitteilt "Hör mal, du nutzt hier nen paar Units, die schon in nem anderen Package sind und eine Unit kann nicht in 2 Packages gleichzeitig sein und wenn das andere Package auch in deiner Anwendung ist, knallts. Willste nicht lieber das andere Package in dein requires aufnehmen?"

Hostanwendung

Bei Projekt Optionen->Packages->Runtime packages den Haken setzen und dort alle Packages eintragen, aus der sich die Anwendung (also die exe) bedienen soll. Alles andere, was die Anwendung benutzt und nicht aus diesen Packages bezogen werden kann, wird hineinkompiliert.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

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

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 15:27
Ok so langsam wirds klarer. Hostanwendung verstanden. Sieht man ja auch an den Dateigrößen der Host.exe wenn man RTL und VCL einkompiliert oder nicht.

Zu meinem Package: Wenn ich dich richtig verstehe, dann muss ich gemeinsam genutzte Units, die in Host und Package gleichzeitig verwendet werden, in einem externen Package unterbringen. Ok ergibt auch Sinn wenn man sich überlegt was der interface-Abschnitt einer Unit so alles macht.

Was ich noch nicht so ganz durchschaue ist, wie die ganzen implizit eingebundenen Units/Packages zustande kommen. Als Beispiel nenne ich mal UniDAC, das ich zwar in der IDE installiert habe, aber in einem völlig "nackten" VCL-Projekt mit Sicherheit nicht verwendet würde. Trotzdem will die IDE das erstmal in die EXE verbauen. Und ich muss dass quasi in einer Art Blacklist explizit unterbinden. Wäre es nicht sinnvoller, eine Art Whitelist mit den gewollten Packages anzugeben?
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 Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#23

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 15:37
Was ich noch nicht so ganz durchschaue ist, wie die ganzen implizit eingebundenen Units/Packages zustande kommen. Als Beispiel nenne ich mal UniDAC, das ich zwar in der IDE installiert habe, aber in einem völlig "nackten" VCL-Projekt mit Sicherheit nicht verwendet würde. Trotzdem will die IDE das erstmal in die EXE verbauen. Und ich muss dass quasi in einer Art Blacklist explizit unterbinden. Wäre es nicht sinnvoller, eine Art Whitelist mit den gewollten Packages anzugeben?
Machst du doch
Miniaturansicht angehängter Grafiken
projectoptions.jpg  
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

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

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 15:51
Gibts bei mir nicht in der Form. Andere IDE?

Bei meinem XE4 läuft die Sinnigkeit anders herum: Entweder ich gebe bei den Laufzeit-Packages diejenigen an die ich nicht dabei haben will (und wo ich dann eine .bpl beipacken muss) oder ich lasse die weg, wann werden die Packages direkt in die EXE eingebunden. Am Beispiel von UniDAC: Ich habe bei meiner IDE noch keinen Weg gefunden, eine EXE zu backen, in der kein UniDAC verbaut wäre. Und mir kann doch keiner erzählen dass ein absolut leeres Test-Projekt, das nichts außer dem TForm1 enthält, irgendwo implizit ein Package wie UniDAC einbinden würde.

PS: UniDAC ist nur ein Beispiel und stellvertretend für wirklich jedes Package das meine IDE kennt.
Miniaturansicht angehängter Grafiken
image3.png  
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 Uwe Raabe
Uwe Raabe

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

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 15:59
Nicht da! Im Unterzweig Laufzeit-Packages kannst du in der (gleichnamigen) Eigenschaft Laufzeit-Packges Plattform- und Konfigurations-spezifisch die gewünschten Runtime-Packages auflisten.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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
 
#26

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 16:05
Bei meinem XE4 läuft die Sinnigkeit anders herum: Entweder ich gebe bei den Laufzeit-Packages diejenigen an die ich nicht dabei haben will (und wo ich dann eine .bpl beipacken muss) oder ich lasse die weg, wann werden die Packages direkt in die EXE eingebunden. Am Beispiel von UniDAC: Ich habe bei meiner IDE noch keinen Weg gefunden, eine EXE zu backen, in der kein UniDAC verbaut wäre. Und mir kann doch keiner erzählen dass ein absolut leeres Test-Projekt, das nichts außer dem TForm1 enthält, irgendwo implizit ein Package wie UniDAC einbinden würde.
Ich kann das Problem hier nicht nachvollziehen:

- Neues VCL-Projekt
- Unter Projekt-Optionen, Laufzeit-Packages, Mit Laufzeit-Packages linken auf True setzen
- Compilieren
- Projekt - Infos über ... zeigt rechts die Liste der verwendeten Packages an (rtl210, vcl210)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

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

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 16:27
Jaaaaaa genau da liegt das Problem das ich nicht verstehe. Hier die Infos zu meinem "Plugin-Package" namens Modul1.Module.bpl. Sobald ich das aber auf der Test-VM dynamisch per LoadPackage lade, wird nach diversen anderen BPLs verlangt (z.B. mal wieder unidac180.bpl)

Und jetzt verrat mir mal einer, warum?
Miniaturansicht angehängter Grafiken
image6.png  
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 Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#28

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 17:01
Sobald ich das aber auf der Test-VM dynamisch per LoadPackage lade, wird nach diversen anderen BPLs verlangt (z.B. mal wieder unidac180.bpl)

Und jetzt verrat mir mal einer, warum?
Vermutlich ganz einfach, weil du in deiner Modul1.Module.bpl irgendwo Units von Unidac nutzt und irgendwann beim Kompilieren mal bei der von mir in den obigen Beiträgen erwähnten Dialogbox "JA, ich will!" gesagt hast und die IDE die entsprechenden Packages in die requires Klausel deines Packages eingetragen hat.

Dass die Exe diese Packages nicht verlangt, müsste dir ja klar, sein sonst würds schon beim Starten des Programms ne "Modul blabla nich gefunden..." Fehlermeldung geben und es einfach nicht starten. Als Beweis lade die Modul1.Module.bpl ins Depends und er zeigt dir, dass er unidac und Konsorten braucht. Es wird dort auch aufgelistet welche Methoden er dort denn genau aus diesen anderen Modulen importiert hat.

P.S. Moment... du macht nen LoadPackage obwohl du die Anwendung doch schon gegen das Package gelinkt hast? Wieso?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 7. Okt 2014 um 17:04 Uhr)
  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
 
#29

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 17:14
P.S. Moment... du macht nen LoadPackage obwohl du die Anwendung doch schon gegen das Package gelinkt hast? Wieso?
Ich hatte das so verstanden, daß es sich bei der BPL um ein PlugIn handelt, das dynamisch geladen wird. Wäre es statisch gebunden, würde ja ebenfalls beim Start der EXE das fehlende UniDAC-Modul angemeckert.

Die IDE gibt merkwürdigerweise beim Compilieren eines Package auch dieses Package höchstselbst in der Liste der verwendeten Packages an.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#30

AW: Projekt mit Runtime-Packages compilieren - BPL nicht gefunden

  Alt 7. Okt 2014, 18:13
Die IDE gibt merkwürdigerweise beim Compilieren eines Package auch dieses Package höchstselbst in der Liste der verwendeten Packages an.
Ah, hatte nich richtig geschaut, dachte der Screenshot war von der Exe.
Das macht dann meine obige Diagnose hinfällig. Dann kann ich dir noch anbieten, das Projekt mal hier anzuhängen oder mir zu schicken sofern möglich, damit wir nich noch nen halben Tag rumraten müssen
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 7. Okt 2014 um 18:20 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 23:06 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