Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DLL oder EXE (https://www.delphipraxis.net/194600-dll-oder-exe.html)

jaenicke 12. Dez 2017 11:59

AW: DLL oder EXE
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1388534)
Zitat:

Zitat von jaenicke (Beitrag 1388530)
Ein gutes Beispiel sind hier Google Chrome und Firefox.

Das ist aber ein schlechtes Beispiel.

Das war bezogen auf mehrere Prozesse vs. Einzelprozess mit DLL (egal ob eine oder mehrere).

Zitat:

Zitat von Bernhard Geyer (Beitrag 1388533)
Ich bin eher ein Freund einer großen Exe. Damit ersparts du dir z.B. die sogenannte DLL Hölle.
Auch ist deine Anwendung viel kleiner wenn du statt 100 DLLs mit je 5 MB nur noch eine Exe mit 10 MB hast.

BPL Hölle kenne ich ja, bezogen auf DLLs kannte ich das noch nicht. Von der Größe her kann man natürlich mit Runtime Packages gegensteuern, aber es ist natürlich richtig, dass die Größe zunimmt je mehr ausgelagert wird.

Wir benutzen auch mehrere DLLs. Die kann man per Konfiguration einklinken und stellen Interfaces usw. zur Verfügung. Man kann solch eine DLL aber auch in ein Testprogramm einklinken und diese dort separat von dem Hauptprogramm testen. Insgesamt finde ich das flexibler als eine große Anwendung. Zumal wir damit auch die Möglichkeit haben, dass jemand von außen eine passende DLL schreibt und die Funktionalität nutzt statt nur auf Skripte usw. beschränkt zu sein (so umfangreich die auch sind).

Jasocul 12. Dez 2017 12:13

AW: DLL oder EXE
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1388549)
Frage: Werden die einzelnen Programmteile (alle oder einige) auch einzeln benötigt oder immer nur alles zusammen? Oder je nach Arbeitsplatz in unterschiedlicher Zusammensetzung?

In der Regel, je nach Abteilung in unterschiedlicher Zusammensetzung. Es gibt nur wenige Überschneidungen gemeinsamer Module. Was aber meistens übergreifend gleich ist, sind die Auswahl-Fenster für die Datenbank-Kriterien (SQL-Statements).
Diese Fenster nerven mich am meisten, da es davon ein paar gibt, die für die meisten Anwendungen identisch sind.

Zitat:

Zitat von Delphi.Narium (Beitrag 1388549)
Handelt es sich bei den Inhouse-Programme eher um eine Applikation (zumindest aus Anwendersicht)?

Nein. Je nach Abteilung werden mehrere verschiedene Anwendung zur Verfügung gestellt. Ablageort ist ein File-Server und nicht die lokalen PC. I.d.R. gibt es eine Verlinkung auf dem Desktop.

Zitat:

Zitat von Delphi.Narium (Beitrag 1388549)
Eine Exe erscheint mir da deutlich einfacher in Bezug auf Pfleg- und Verteilbarkeit.

Ja und Nein. Wenn ich nur einzelne Forms (Auswahl-Fenster) anpassen möchte, kann ich einfach die DLL austauschen, ohne die Exe anzufassen. Die Exe muss dafür nicht mal neu kompiliert werden, solange die Aufruf-Konventionen sich nicht ändern. Das ließe sich mit Interfaces vermutlich sogar ziemlich flexibel gestalten.
Oder wenn eine Tabellen-Übersicht angepasst wird, kann das auch ohne Austausch der Exe durchgeführt werden.
Der Pflege-Aufwand kann vermutlich größer werden. Der Verteil-Aufwand ist gering, da die Anwendungen zentral abgelegt sind. Die DLLs wären das dann dementsprechend auch.

Ghostwalker 12. Dez 2017 12:34

AW: DLL oder EXE
 
Zitat:

Zitat von Jasocul (Beitrag 1388543)
Diese Sub-Programme können dann durchaus auch einfach nur Auswahl-Fenster sein, die in verschiedenen anderen Programmen genutzt werden.

Öhm...also wer sowas in eine Exe auslagert, gehört sich meiner Meinung nach geteert und gefedert. :zwinker:

Eine eigenständige Exe macht nur dann Sinn, wenn ich

a) Das Programm unabhängig vom Hauptprogramm nutzen können soll
b) und/oder es sich um eine Arbeit handelt, die länger dauern kann und ich dem Anwender unterdessen die
Arbeit mit dem Hauptprogramm erlauben möchte (Multitasking/-threading)

Alles andere kommt entweder in eine DLL (wenn die Funktionalität von mehreren unabhängigen Anwendungen gebraucht wird) oder ins Hauptprogramm.

Neben der Ergebnis- und Parameterschubserei, die bei einer Exe doch etwas komplizierter ausfällt, als bei einer DLL, gibts auch viele arbeiten, die doppelt gemacht werden müssen (z.B. Aufbau Datenbankverbindung, Übersetzungssystem...). Beim arbeiten mit DLL's und Interfaces hab ich dagegen schonmal den Vorteil, das zumindest schonmal die Typen der Parameter richtig sein müssen (sonst meckert ja der Compiler). Von Sicherheitsaspekten will ich noch nicht mal reden :)

Jasocul 12. Dez 2017 12:52

AW: DLL oder EXE
 
Zitat:

Zitat von Ghostwalker (Beitrag 1388561)
Öhm...also wer sowas in eine Exe auslagert, gehört sich meiner Meinung nach geteert und gefedert. :zwinker:

Jetzt weißt du, warum ich die Aktivitäten meines Vorgängers ändern will. :wink:
Zitat:

Zitat von Ghostwalker (Beitrag 1388561)
Alles andere kommt entweder in eine DLL (wenn die Funktionalität von mehreren unabhängigen Anwendungen gebraucht wird) oder ins Hauptprogramm.

Es ist halt die Frage, ob externe DLL oder externe Anwendung, aber:
Zitat:

Zitat von Ghostwalker (Beitrag 1388561)
Neben der Ergebnis- und Parameterschubserei, die bei einer Exe doch etwas komplizierter ausfällt, als bei einer DLL, gibts auch viele arbeiten, die doppelt gemacht werden müssen (z.B. Aufbau Datenbankverbindung, Übersetzungssystem...). Beim arbeiten mit DLL's und Interfaces hab ich dagegen schonmal den Vorteil, das zumindest schonmal die Typen der Parameter richtig sein müssen (sonst meckert ja der Compiler). Von Sicherheitsaspekten will ich noch nicht mal reden :)

Sowas will ich lesen, um mich bestätigt zu sehen :mrgreen:
Meine letzte selbst programmierte DLL ist schon viele Jahre her. Mit dieser Diskussion hoffe ich, dass ich das Für und Wider richtig berücksichtige.

4dk2 12. Dez 2017 13:43

AW: DLL oder EXE
 
Es gibt dann ja auch noch die Möglichkeit die Kommunikation zwischen zwei Anwendungen per Dll zu lösen:
EXE<->DLL<->EXE
Ich kann aus persönlicher Erfahrung dann empfehlen, bei Delphi bloß nicht versuchen Objekte auszutauschen :lol:

Meiner Meinung nach machen Aufteilung in mehrere Exen auch nur in wenigen Fällen Sinn.

Ghostwalker 12. Dez 2017 14:09

AW: DLL oder EXE
 
[QUOTE=4dk2;1388578
Ich kann aus persönlicher Erfahrung dann empfehlen, bei Delphi bloß nicht versuchen Objekte auszutauschen :lol:
[/QUOTE]

Nicht nur bei Delphi. Der Austausch von Objekten zwischen Exe/Dll ist auch in anderen Sprachen nicht wirklich möglich. Dazu brauchst du dan COM oder du benutzt (wenn es nur um Delphi geht) BPL's (Hier im Forum suchenBPL).


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr.
Seite 2 von 2     12   

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