DLL erklärung

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

DLL erklärung

Beitrag 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
-.-"
walker
Beiträge: 278
Registriert: 29.08.2004 18:39
Wohnort: Bayern

Beitrag 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
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Wie

Beitrag 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?)
-.-"
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag 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)
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Dll

Beitrag 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
-.-"
Mike0484
Beiträge: 28
Registriert: 26.03.2005 16:10

Beitrag von Mike0484 »

Ich hab da auch eine Fragen,
woher weis ich was für eine dll welche funktion hat ?
Defmaster
Beiträge: 130
Registriert: 26.12.2004 21:38
Kontaktdaten:

Beitrag 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.
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag 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)
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Re: Dll

Beitrag 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]
-.-"
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag 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
Antworten