AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DLL oder EXE

Ein Thema von Jasocul · begonnen am 12. Dez 2017 · letzter Beitrag vom 12. Dez 2017
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.343 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: DLL oder EXE

  Alt 12. Dez 2017, 11:59
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).

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).
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.337 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: DLL oder EXE

  Alt 12. Dez 2017, 12:13
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.

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.

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.
Peter
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#13

AW: DLL oder EXE

  Alt 12. Dez 2017, 12:34
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.

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
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.337 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: DLL oder EXE

  Alt 12. Dez 2017, 12:52
Öhm...also wer sowas in eine Exe auslagert, gehört sich meiner Meinung nach geteert und gefedert.
Jetzt weißt du, warum ich die Aktivitäten meines Vorgängers ändern will.
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:
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
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.
Peter
  Mit Zitat antworten Zitat
4dk2

Registriert seit: 4. Sep 2007
176 Beiträge
 
#15

AW: DLL oder EXE

  Alt 12. Dez 2017, 13:43
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

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

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#16

AW: DLL oder EXE

  Alt 12. Dez 2017, 14:09
[QUOTE=4dk2;1388578
Ich kann aus persönlicher Erfahrung dann empfehlen, bei Delphi bloß nicht versuchen Objekte auszutauschen
[/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).
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:02 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