Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi exe kompilieren nicht möglich (https://www.delphipraxis.net/200935-exe-kompilieren-nicht-moeglich.html)

Oscar101 9. Jun 2019 18:48

exe kompilieren nicht möglich
 
Hallo alle zusammen,

bin recht neu hier. Habe eine frage vielleicht könnt ihr mir Hilfe geben.
Es geht um kompilieren der EXE.
Wenn die exe von mehreren Usern noch gestartet ist, habe ich das Problem, dass ich die EXE nicht erneut kompilieren und ablegen kann.
Ich schreibe alle sourcen nur in ein exe rein, frage ist:
wenn ich die Funktionen in dll schreibe und nur dll ablege würde das funktionieren?

Gruß

Delphi.Narium 9. Jun 2019 18:53

AW: exe kompilieren nicht möglich
 
Wenn die DLL von einer der Exen gerade benutzt wird, eher nicht.

dummzeuch 9. Jun 2019 19:14

AW: exe kompilieren nicht möglich
 
Ja, das wäre möglich: Im Gegensatz zu Executables kann man DLLs, die in Benutzung sind, verschieben / umbenennen. Danach kann man die DLL dann neu compilieren. Allerdings muss man dabei beachten, dass alle Programme, die die DLL in Benutzung hatten, auch weiterhin die umbenannte DLL benutzen, bis sie neu gestartet werden (oder aktiv die DLL ent- und wieder neu laden).

DieDolly 9. Jun 2019 19:17

AW: exe kompilieren nicht möglich
 
Zitat:

dass alle Programme, die die DLL in Benutzung hatten, auch weiterhin die umbenannte DLL benutzen, bis sie neu gestartet werden (oder aktiv die DLL ent- und wieder neu laden).
Bei dem Aufwand kann man allen Leuten auch einfach sagen, sie sollen ihr Programm für 2 Minuten nicht benutzen.

dummzeuch 9. Jun 2019 19:20

AW: exe kompilieren nicht möglich
 
Zitat:

Zitat von DieDolly (Beitrag 1434234)
Zitat:

dass alle Programme, die die DLL in Benutzung hatten, auch weiterhin die umbenannte DLL benutzen, bis sie neu gestartet werden (oder aktiv die DLL ent- und wieder neu laden).
Bei dem Aufwand kann man allen Leuten auch einfach sagen, sie sollen ihr Programm für 2 Minuten nicht benutzen.

Wenn es sich um 2 handelt, ja, wenn es sich um >10 handelt, eher nicht.

Ihnen sagen, "Du musst das Programm beenden und neu starten, ist in der Regel kein Problem, aber "Du muss das Programm jezt beenden und warten, bis ich Dir sage, dass Du es neu starten kannst." bedeutet immer, dass einer es entweder nicht beendet oder zu früh neu startet.

DieDolly 9. Jun 2019 19:37

AW: exe kompilieren nicht möglich
 
Dann spielt man Updates ein, wenn keiner mehr arbeitet.

jaenicke 9. Jun 2019 19:40

AW: exe kompilieren nicht möglich
 
Zitat:

Zitat von dummzeuch (Beitrag 1434233)
Ja, das wäre möglich: Im Gegensatz zu Executables kann man DLLs, die in Benutzung sind, verschieben / umbenennen.

Das Umbenennen geht auch bei Anwendungen, ich weiß nicht ab welcher Version von Windows, aber ich glaube ab Windows NT/2000 schon.

Die einfachste Variante ist aber die Anwendung schlicht lokal in das temporäre Verzeichnis (oder in die Anwendungsdaten) zu kopieren, dann von dort zu starten und die Anwendung auf dem Netzlaufwerk wieder zu beenden, wenn es um eine definierte Zielkonstellation geht. Dann kann man die Anwendung auf dem Netzlaufwerk bzw. dem RDP-Server jederzeit austauschen.

Luckie 9. Jun 2019 19:49

AW: exe kompilieren nicht möglich
 
Leg die neue Exe temporär irgendwo ab. Und beim nächsten Start prüfen die lokal laufenden Anwendungen, ob es eine neue Version gibt. Wenn ja wird eine Batchdatei gestartet, die die neue Exe holt und startet.

Sprich, nicht Irgendwie versuchen zu tricksen, sondern eine saubere Lösung implementieren.

Uwe Raabe 9. Jun 2019 20:11

AW: exe kompilieren nicht möglich
 
Zitat:

Zitat von Oscar101 (Beitrag 1434231)
Wenn die exe von mehreren Usern noch gestartet ist, habe ich das Problem, dass ich die EXE nicht erneut kompilieren und ablegen kann.

Da liegt meiner Meinung nach der Kern: Warum benutzen die User die Exe aus deinem Ausgabeverzeichnis? Compilier doch einfach woanders hin und kopiere die Exe dann in das Produktivverzeichnis wenn sie fertig ist und alle User das Programm beendet haben. Man trennt nicht umsonst zwischen Build und Deploy.

Oscar101 9. Jun 2019 21:11

AW: exe kompilieren nicht möglich
 
Vielen Dank
Auch wenn ich die Ausgabeverzeichnis ändere und die exe woanders ablege, kann ich nicht ersetzen, weil die Anwendung bereits gestartet ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr.
Seite 1 von 2  1 2      

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