AGB  ·  Datenschutz  ·  Impressum  







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

Sinn von DLL-Formularen

Ein Thema von TheMiller · begonnen am 15. Sep 2005 · letzter Beitrag vom 23. Sep 2005
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#21

Re: Sinn von DLL-Formularen

  Alt 23. Sep 2005, 10:15
Moin Martin,

ich wuerde aber davon abraten, die Borland-BPLs ins Programmverzeichnis zu kopieren. Wenn du 2 Anwendungen hast, die die Borland-Packages zur Laufzeit einbinden, dann muessen die Packages in beiden Anwendungsverzeichnissen vorhanden sein (ausser der Trick mit der PATH-Variable funktioniert), und der Vorteil der Platzersparnis ist erstmal weg.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#22

Re: Sinn von DLL-Formularen

  Alt 23. Sep 2005, 13:55
Hallo Andres,

die Begründung macht Sinn. Ist im Moment auch kein aktuelles Problem (dafür stehen heute noch einige Hashlisten auf demn Programm). Was ich bei Gelegenheit doch noch mal ausprobieren werde ist, ob ich die Borland-Packages per Fußweg im Projektquelltext aus einem anderen Verzeichnis laden kann, bevor die Formulare erstellt werden. Die Frage die dahinter steht ist: Wann wird die VCL geladen, bei Erstellen von TApplication oder bei dem Aufbau der Forms. Naja mal sehen vielleicht bekommt man das auch mit einem dll-Sniffer heraus. Man braucht dann wohl nur eine Application ohne Forms...

Grüße in den Süden

// Martin






PS: 20 Grad / Sonne / blauer Himmel / Überstunden
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#23

Re: Sinn von DLL-Formularen

  Alt 23. Sep 2005, 15:06
Zitat:
Wann wird die VCL geladen, bei Erstellen von TApplication oder bei dem Aufbau der Forms.

Das hängt davon ab wie die Abhängigkeiten sind.

Normalerweise werden die Grundlagen Packages wie VCL,DB etc. statisch in die EXE gelinkt. Sie werden damit also beim Laden der EXE ebenfalls geladen.

Hat man nun weitere Packages die zb. nur anwendungspezifisch sind, und auf spezielle Formulare aus Modulen bezogen benötigt werden, dann werden diese Packages immer dann geladen und entladen wenn ein solchen Formular Modul geleden und entladen wird.

Diesen Fakt nutzen wir in unserem Modulsystem aus. Wir erzeugen Formulare erst bei Bedarf, sprich Nutzeraufruf, und laden dann das dazugehörige Modul ebenfalls dynamisch. Sollte dieses Formular aber auf ein eigenes mehrfach benutztes Packages statisch zugreifen, so wird dieses Packages ebenfalls dynamisch geladen. Logisch, wenn du mal tiefer darüber nachdenkst.

Einige Packages, besonders 3'rd Party Packages wie ReportBuilder, sollten aber schon statisch mit der EXE geladen werden und dann permanent im Speicher verbleiben. Denn diese Packages wurden nicht korrekt auf ein dynamsiches Entladen hin programmiert. Sie installieren Hooks oder allozieren Objekte etc. pp. und deinstallieren sie aber nicht mehr korrekt beim Entladen der Packages. Das kann dann zu Fehlern beim dynamischen Entladen führen.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#24

Re: Sinn von DLL-Formularen

  Alt 23. Sep 2005, 15:15
Zitat:
ich wuerde aber davon abraten, die Borland-BPLs ins Programmverzeichnis zu kopieren. Wenn du 2 Anwendungen hast, die die Borland-Packages zur Laufzeit einbinden, dann muessen die Packages in beiden Anwendungsverzeichnissen vorhanden sein
Bei heutigen Festplattengrößen und automatischen Setups halte ich diesen Vorschlag für nicht Support freundlich. Ich würde also genau das Gegenteil vorschlagen da so gewährleistet ist das andere Anweendungen einem nicht die Basis durch andere Packages unter dem Hintern wegreisen können. Zb. liefert Borland gepatchte Packages aus, je nach Compiler Version, die dann wenn man eine ungepatchte Delphi Version benutzt, zu massiven Problemen führen können falls diese Packages im SYSTEM liegen.

Besser also alles zur Anwendung zu speichern was möglich ist und nicht auf Speicherplatz zu schauen. Das oberste Prinzip bei kleinen Softwarefirmen heist "es muß stabil laufen". Reduziert man also unnnötige Abhängigkeiten zu Treibern, DLL's so reduziert man Probleme.

In diesem Punkt haben Linux/Unix Systeme ihren klaren Vorteil. Was sind schon 5-15 Mb Platz heutzutage ?

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 18:22 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