Wie du dir das bildhaft vorstellst?
Eine
DLL ist ein stück assemblercode. uns interessiert dabei im moment nur das codesegment. in diesem befinden sich funktionen, die können im prinzip alles machen - "hallo, welt" rufen, was zeichnen, oder sogar ein Windows-fenster erzeugen.
Deine Echse (auch ein Modul) nimmt sich nun eine
DLL (loadmodule), denkt sich "hach, jetzt nehme ich mir mal eine funktion" (getprocaddress) "und die ruf ich jetzt auf".
naja, und das wars dann eigentlich auch schon.
Technisch mit allen Details ausformuliert gibts irgendwo (hier in der
DP) n Tutorial von Olli. Englisch, PDF, under construction, aber die Grundlagen stehn da alle drin.
Blöd wird es, wenn die Echse der
DLL daten geben will und andersrum. Denn Delphis Memorymanager ist so frei und gibt dem Hauptmodul (also der echse) und der
DLL unterschiedliche Speicherbereiche zur Datenhaltung. Du musst dann z.B. die
Unit Sharemem einbinden oder himitsus FastXMM.