AGB  ·  Datenschutz  ·  Impressum  







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

Wie erstellt Delphi DLLs

Ein Thema von Florian Hämmerle · begonnen am 30. Dez 2009 · letzter Beitrag vom 30. Dez 2009
Antwort Antwort
Seite 1 von 2  1 2      
Florian Hämmerle
(Gast)

n/a Beiträge
 
#1

Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 08:42
Hallo DPler!

Mich interessiert, welches Programm für die DLL-Erstellung bei Delphi zuständig ist. Macht das der ganz normale Compiler oder ein anderes Programm? Hab nämlich gesucht, ob es ein Delphi2DLL-Programm zum Download gibt, bin aber leider nicht fündig geworden

Schöne Grüße, Florian
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 08:44
Das macht auch der Compiler. DLLs unterscheiden sich von "normalen" Anwendungen eigentlich kaum (gar nicht?). Siehst du auch wenn du mal ne DLL und ne EXE in nen Hexeditor lädst
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#3

Re: Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 08:58
Vielen Dank für die schnelle und erfreuliche Antwort
Hex-Editor Werd ich mir mal anschauen.

Schönen letzten Tag in 2009 und einen Guten Rutsch.

Schöne Grüße, Florian
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#4

Re: Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 09:01
Zitat von Neutral General:
Das macht auch der Compiler. DLLs unterscheiden sich von "normalen" Anwendungen eigentlich kaum (gar nicht?). Siehst du auch wenn du mal ne DLL und ne EXE in nen Hexeditor lädst
Man kann auch eine EXE als DLL laden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 10:54
Zitat von himitsu:
Zitat von Neutral General:
Das macht auch der Compiler. DLLs unterscheiden sich von "normalen" Anwendungen eigentlich kaum (gar nicht?). Siehst du auch wenn du mal ne DLL und ne EXE in nen Hexeditor lädst
Man kann auch eine EXE als DLL laden.
Bringt aber nur was, wenn sie auch Funktionen exportiert. Eine DLL unterscheidet sich von einer Exe eigentlich nur darin, dass sie keinen Programmeinsprungspunkt besitzt. Und somit dann nur eine lose Sammlung compilierter Funktionen ist, was im Endeffekt eine Exe auch ist. Ein gutes DLL Tutorial hat Olli auf seiner Seite: http://assarbad.net/en/stuff/tutorials/dll_tutorial/
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#6

Re: Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 11:08
Zitat von himitsu:
Man kann auch eine EXE als DLL laden.
Genauer, man kann Jedes PE-File laden, unabhängig von der Fileextension.
Lanthan Astat
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

Re: Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 11:11
Zitat von Luckie:
Bringt aber nur was, wenn sie auch Funktionen exportiert.
Und das geht ja auch in 'ner EXE
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 11:57
Zitat von Luckie:
Eine DLL unterscheidet sich von einer Exe eigentlich nur darin, dass sie keinen Programmeinsprungspunkt besitzt.
Korrektur: Auch eine (Delphi-)DLL hat einen "Programmeinsprungspunkt" (PE-Feld EntryPoint). Wie sonst würden wohl die ganzen Initialization und Finalization Abschnitte durchlaufen werden?

Der Hauptunterschied zu einer Anwendung ist übrigens das Flag PE_FILE_DLL im PE-Header, das sagt, ob das Image eine DLL oder eine EXE ist.

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 12:02
Gut, die Initialization und Finalization Abschnitte hab eich jetzt nicht gemeint.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Wie erstellt Delphi DLLs

  Alt 30. Dez 2009, 12:21
Es wird auch innerhalb einer DLL der Teil zwischen "begin" und "end." in der Programmunit ausgeführt. Also ist auch ein Programmeinsprungpunkt vorhanden

Zudem ist der Zusammenhang der, dass die Initialization und Finalization Abschnitte und der Hauptprogrammabschnitt durch den (von Windows vorgegebenen) DLL-Eintrittspunkt in der Delphi- bzw. FPC-RTL aufgerufen werden.

Aber ich spring jetzt mal nicht weiter auf dem EntryPoint rum

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:49 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