AGB  ·  Datenschutz  ·  Impressum  







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

Wie dll compilieren

Ein Thema von Schwedenbitter · begonnen am 12. Dez 2013 · letzter Beitrag vom 13. Dez 2013
Antwort Antwort
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Wie dll compilieren

  Alt 13. Dez 2013, 10:07
Abermals danke für die ausführliche Erklärung. Dennoch habe ich 2 Fragen:

Meine Library wird immer noch nicht als DLL kompiliert. Ich wollte es daher über den Vorschlag einer Projektgruppe probieren. Gibt es eine Möglichkeit, eine solche nachträglich zu bauen? Falls ja, wie geht das?
Ich hatte mangels Wissen darum zunächst versucht, eine neue Projektgruppe zu erstellen und hatte den Plan, dann dort die bestehenden Dateien reinzuschummeln. Aber auch hier komme ich nicht weiter.
Ich erwarte wie immer keine Erklärungen hier. Wäre zwar schön. Aber ich bin bereit zu lesen und würde mich daher über einen Link riesig freuen...

Wenn ich das richtig verstanden habe, ist Release jedenfalls falsch und ich sollte - oder vielmehr muss - Free nehmen. Wenn ich das weiter zutreffend deute, sollte dann auch sowas gehen wie:
Delphi-Quellcode:
   With TaDLLForm.Create(nil) Do
   Try
      ShowModal;
   Finally
      Free;
   End;
Alex Winzer
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie dll compilieren

  Alt 13. Dez 2013, 10:14
Der Code sollte so funktionieren. Was Du noch versuchen könntest: pack das Formular der DLL in eine eigene Unit wie in "normalen" Projekten auch. Im Quältext des DLL-Projektes bindest Du dann diese Unit ein, so dass das etwa so aussieht:
Delphi-Quellcode:
Library DLLForm;

Uses Forms, DeineFormUnit;

{$R *.res}

Procedure DLLFormular; StdCall;
Begin
  with TaDLLForm.Create(nil) do
    Try
      ShowModal;
    Finally
      Free;
    End;
End;

Exports
   DLLFormular;

Begin
End.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
730 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wie dll compilieren

  Alt 13. Dez 2013, 10:26
Hast du überhaupt ein eigenes Projekt (*.dpr) für die DLL?

Ich habe gerade mal folgendes gemacht: (D2007)

Datei - Neu - Weitere - Dll-Experte

Delphi erzeugt damit ein Grundgerüst für ein DLL-Projekt. Deinen Code habe ich einfach da rein kopiert und kompiliert. Der Compiler meckert über das {$R *.dfm}. Klar, die DLL selbst hat ja auch keine dfm, die müsste in der Formular-Unit eingebunden werden.

Ansonsten lässt sich der Code aber kompilieren und ich erhalte eine DLLForm.dll
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Wie dll compilieren

  Alt 13. Dez 2013, 12:23
Hast du überhaupt ein eigenes Projekt (*.dpr) für die DLL?
Treffer, versenkt!

Ich habe - gemäß der zweifelhaften Anleitung - zunächst ein normales VCL-Projekt erstellen lassen, Buttons und Code hinzugefügt. Dann hatte ich aus der Unit (pas-Datei) einfach eine DLL gemacht, indem ich oben statt "Unit" den Bezeichner "Library" einsetzte. Dass man die dann mit der Endung dpr hätte vesehen müssen, habe ich jetzt auch festgestellt. Dann klappt es auch mit dem Kompilieren.
Und jetzt bietet mir Delphi (endlich) auch an, alles in eine Gruppe zusammenzufassen.

Tausend Dank für Euro Hilfe!
Alex Winzer
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz