Was ist eigentlich ne dll?
-
Jo, wozu ist eigentlich ne .dll?
Das einzige was ich weiß das in manchen dlls Programme wie in exe dateien drinn sindAber ich verstehe den sinn irgendwie nicht und wie ich das in einer Meiner Programm bringen könnte?
Wäre nett für eine aufklärung.
Mit einem nützlichen Link bin ich auch zufrieden
-
Man kann dlls z.B. benutzen wenn man anderen Programmierern die Möglichkeit geben will das Programm zu erweitern ohne das diese den Quellcode des Haupt Programms brauchen. Man muss in seinem Programm nur drin haben das alle dlls in einem bestimmten verzeichniss benutzt werden und daraus gelesen wird was diese machen und wie diese benutzt werden soll. Ein Beispiel wäre wenn man nen Programm Dateien konvertieren soll dann kann man per dlls für alle Formate dlls benutzen und wenn jemand nen Format kennt das du nicht kennst kann er es hinzufügen per dll.
-
Also könnte ich einen Eurorechner erstellen, den in ne .dll packen und von einem Beliebigen Programm von mir aufrufen indem ich sie dort einfüge?
-
So ungefähr nur ich bin mir nicht ganz sicher wie das mit dem öffnen ist eigentlich ruft man nur funktionen auß der dll auf. Man kann aber machen das dein Hauptprogramm die Prozedur zum öffnen von fenstern beinhaltet und dann mit Sachen aus der dll gefüllt wird. Ich abe aber eher gemeint das man z.B. einen Wärungsrechner macht bei dem nur Euro drin ist anfangs und andere leicht DM Lire usw. einfügen kann. Frag mich aber nicht wie das genau funktioniert das hab ich nurmal vom prinzip durchgelesen.
-
DLL-Programmierung:
http://mitglied.lycos.de/ehenkes/api6.htm
-
dll sind nicht anderes als kompilierter Sourcecode wie eine EXE. (Jetzt einfach erklärt damit die Profis nicht maulen )
Die DLL exportiert funktionen oder Klassen.
Jede dll hat eine Header-Datei und eine lib.Die Lib wird mitgelinkt und die Header in dein Programm eingebunden.
Beim starten deinen Programmes wird die DLL in den Speicher geladen.
Ist sie nicht vorhanden oder wird sie nicht gefunden kommt es bei starten zu einer Fehlermeldung von Windows, daß die DLL xxx nicht gefunden wurde.Will man Speicherplatz (Memory) sparen kann man die DLL auch mit LoadLibrary selbst laden. Allerdings sollte man die Exportierten funktionen dann wiesen da man sich einen Zeiger darauf holen muß.
Der Vorteil. Sie wird nur dann geladen wenn sie gebraucht wird.
Man darf dann aber die Lib nicht mitlinken.
Du kannst fast jeden Code in die dll einfügen. Bei MFC ist aber einiges zu beachten.In jeder Funktion ist al erster Code
AFX_MANAGE_STATE(AfxGetStaticModuleState());
aufzurufen.
-
dll die lieber lassen