AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Ausliferung eines Programms mit Laufzeit-Packages
Thema durchsuchen
Ansicht
Themen-Optionen

Ausliferung eines Programms mit Laufzeit-Packages

Ein Thema von Sunec · begonnen am 27. Okt 2014 · letzter Beitrag vom 28. Okt 2014
Antwort Antwort
Seite 1 von 2  1 2      
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#1

Ausliferung eines Programms mit Laufzeit-Packages

  Alt 27. Okt 2014, 13:53
Hallo,

wenn ein Programm mit Laufzeit-Packages erstellt wurde, müssen diese auch zur Verfügung gestellt werden.

Entweder müssen sie im Suchpfad des Systems vorhanden sein oder aber im gleichen Ordner der Programm-Exe vorliegen.

Besteht die Möglichkeit, dass die Packages auch in einem Unterordner innerhalb des Programmverzeichnisses vorliegen können?
Miniaturansicht angehängter Grafiken
ist.jpg   soll.jpg  
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Ausliferung eines Programms mit Laufzeit-Packages

  Alt 27. Okt 2014, 14:00
Wenn dann äußerst umständlich - schaust Du in die exe, wirst Du sehen, dass die über die Import-Table direkt gelinkt werden.

Man könnte sich Konstrukte überlegen wie etwa, den Packages-Pfad global in den Suchpfad aufzunehmen ( ) oder einen packagelosen Launcher das Programm mit verändertem Suchpfad starten zu lassen. Macht's aber eher fehleranfälliger.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ausliferung eines Programms mit Laufzeit-Packages

  Alt 27. Okt 2014, 14:08
Ja, Windows sucht, wie bei den DLLs (denn im Grunde sind das ja auch nur DLLs, welche ein bissl aufgemotzt sind) an den bekannten Orten.

http://msdn.microsoft.com/en-us/libr.../ms682586.aspx (Search Order for Desktop Applications)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (27. Okt 2014 um 14:19 Uhr)
  Mit Zitat antworten Zitat
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#4

AW: Ausliferung eines Programms mit Laufzeit-Packages

  Alt 27. Okt 2014, 14:37
Vielen Dank schonmal für Eure Antworten und den Link.

Eigentlich wollte ich Eintragungen in Suchpfade und Registry verhindern und dachte es wäre über die Projekteinstellungen konfigurierbar.

Das scheint jedoch nicht der Fall zu sein.

Werde dann wohl ein Hilfsprogramm schreiben, welches vorher durch SetDllDirectory oder manuell die Vorarbeit leistet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ausliferung eines Programms mit Laufzeit-Packages

  Alt 27. Okt 2014, 14:53
Da "statischen" DLLs/BPLs noch vor Ausführung deines Programmcodes geladen werden, müssten dort ja "statische" (hardgecodete) Pfade drin stehn.
Und sowas macht man doch nicht, genauso wie man keine relativen Pfade (ohne einen festen Bezugspunkt) nimmt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Ausliferung eines Programms mit Laufzeit-Packages

  Alt 27. Okt 2014, 15:01
Wieso?

Das Hilfsprogramm kann ja Package-frei sein und Pfade beliebig ermitteln...
  Mit Zitat antworten Zitat
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#7

AW: Ausliferung eines Programms mit Laufzeit-Packages

  Alt 27. Okt 2014, 15:12
Da "statischen" DLLs/BPLs noch vor Ausführung deines Programmcodes geladen werden, müssten dort ja "statische" (hardgecodete) Pfade drin stehn.

Wie CCRDude schon schrieb hatte ich vorgesehen das Hilfsprogramm simpel zu halten, so dass es komplett ohne Laufzeit-Packages auskommt.



Und sowas macht man doch nicht, genauso wie man keine relativen Pfade (ohne einen festen Bezugspunkt) nimmt.

Der feste Bezugpunkt ist gegeben und wäre in dem Fall der Ordner, in dem sich die Exe befindet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ausliferung eines Programms mit Laufzeit-Packages

  Alt 27. Okt 2014, 15:32
Zitat:
in dem sich die Exe befindet.
Man könnte auch das Arbeitsverzeichnis dafür nehmen, von Welchem meistens die relativen Pfade ausgehn.

PS: Es gibt auch noch die side-by-side Assemblies.
http://msdn.microsoft.com/en-us/libr.../ff951640.aspx
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#9

AW: Ausliferung eines Programms mit Laufzeit-Packages

  Alt 27. Okt 2014, 20:01
Habe es nun per Hilfsprogramm umgesetzt, welches gleichzeitig auf Programmupdates prüft.

Danke nochmals für den Input
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#10

AW: Ausliferung eines Programms mit Laufzeit-Packages

  Alt 28. Okt 2014, 07:53
Na dann, willkommen in der BPL-Hölle

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  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 07:40 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