Seite 1 von 2
DLL erklärung
Verfasst: 23.03.2005 18:24
von Green Snake
halllo
in purebasiuc kann man ja dll's erstellen, aber für was sind die gut?
kann jemand ein beispiel machen?
hoffe auf antwort
Verfasst: 23.03.2005 19:30
von walker
Hi,
DLL = Dynamic Link Library = Programmbibliotheken, die zur Laufzeit eines Programmes "hinzugezogen" werden.
DLL's enthalten Funktionen, die von verschiedenen Programmen genutzt werden können (Es muß also nicht jeder in seinem Programm eine Funktion xy programmieren). Unter Windows (siehe Windows-Verzeichnis und dann System32; jedenfalls ab W2K) sind DLL's in einer großen Anzahl vorhanden. Fast jedes größere Programm bringt auch eigene DLL's mit, in denen ein Teil des Programmcodes untergebracht ist. Die DLL' unter Windows stellen den Entwicklern von Programmen eine Vielzahl von Funktionen zur Verfügung, die Windws selbst auch verwendet.
Ein DLL - Beispiel findest du im Examples-Ordner (PureBasic\Examples\Sources)
cu
Ulf
Wie
Verfasst: 24.03.2005 13:15
von Green Snake
Also ich muss einfach einen programmcode in eine dll speichern.
und wie kann ich diese dan in mein programm einfügen?
(ist das ähnlich wie include binary?)
Verfasst: 24.03.2005 13:20
von 125
DLLs werden genutz wenn du Funktionen auch Programmern einer anderen Programmiersprache zur verfügung stellen willst.
Die Prozeduren müssen so aussehen:
ProcedureDLL Funktionsname(Param1,Param2,....)
Wenn man eine DLL in pb verwenden will benötigt man die Library Funktionen (siehe Dokumentation)
Dll
Verfasst: 02.04.2005 11:54
von Green Snake
Hallo
ich komme auf dieses thema zurück, weil ich in einem buch folgendes beispiel gefunden habe.
Code: Alles auswählen
;Nachfolgend wird die DLL deklariert,
;die als "Shared DLL" kompiliert wird.
ProcedureDll My Function()
MessageRequester("Hallo","Dies ist ein PureBasic DLL !",0
EndProcedure
Code: Alles auswählen
;Hier das Client Programm, welches die Dll benutzt.
If OpenLibarary(0, "PureBasic.dll")
CallFunktion(0, "_MyFunction")
CloseLibarary(0)
endif
so, verstehe ich das richtig das der erst code als dll abgespeichert wird?
der 2 code ist eine normale EXE, die den 1 code benutzt?
wenn ich auf die EXE klicke (bzw sie ausführe) dann sollte doch ein
messengerequester auftauchen stimmts?
falls meine aufnahme richtig war, wiso passiert dann nichts?
hoffe auf antwort, gruss snake
Verfasst: 02.04.2005 12:29
von Mike0484
Ich hab da auch eine Fragen,
woher weis ich was für eine dll welche funktion hat ?
Verfasst: 02.04.2005 13:04
von Defmaster
Entweder is bei ner DLL eine Dokumentation mit bei oder du hast sie selbst geschrieben

Wenn nix derbeiden zutrifft kannste halt nich auf sie zugreifen so einfach ist dass.
Beispiel für DLL: Ich habe ne DLL gemacht in C++. für den Game Maker da ich durch sie den GM durch funktionen erweiteren konnte wie z.B. ine Zeitmessfunktion um Code auf seine ausführgeschwindigkeit zu prüfen.
Verfasst: 02.04.2005 13:28
von traumatic
Mike0484 hat geschrieben:[...] woher weis ich was für eine dll welche funktion hat ?
So in der Art?
Code: Alles auswählen
hLib = OpenLibrary(#PB_Any, "user32.dll")
ExamineLibraryFunctions(hLib)
While NextLibraryFunction()
Debug LibraryFunctionName()
Wend
CloseLibrary(hLib)
Re: Dll
Verfasst: 02.04.2005 17:37
von Green Snake
so, verstehe ich das richtig das der erst code als dll abgespeichert wird?
der 2 code ist eine normale EXE, die den 1 code benutzt?
wenn ich auf die EXE klicke (bzw sie ausführe) dann sollte doch ein
messengerequester auftauchen stimmts?
falls meine aufnahme richtig war, wiso passiert dann nichts?
hoffe auf antwort, gruss snake
sorry, meine frage wurde noch nicht beantwortet, stimmt meine annahme zur dll?[/quote]
Verfasst: 02.04.2005 18:07
von 125
Jap. Meistens werden DLLs benutzt wenn bestimmte Sachen in einer Programmiersparche einfacher sind aber das Main Prog woanders drin geschrieben ist oder man manche Funktionen in mehreren Anwendungen benutzt. z.B. Office Word Excel etc. greifen alle auf die Office DLLs zu so kann man in Word z.B. Excel Tabellen benutzen.
mfg
125