AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Wie Uses in Unit einer Library (dll) verwenden?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Uses in Unit einer Library (dll) verwenden?

Ein Thema von SevenOfNine · begonnen am 8. Okt 2007 · letzter Beitrag vom 8. Okt 2007
Antwort Antwort
SevenOfNine

Registriert seit: 11. Jan 2007
Ort: Giessen, Mittelhessen
41 Beiträge
 
Delphi 7 Professional
 
#1

Wie Uses in Unit einer Library (dll) verwenden?

  Alt 8. Okt 2007, 14:36
Der Titel ist vielleicht ein bisschen verwirrend, aber mir ist nichts besseres eingefallen

Nun zu meinem Verständnisproblem:

Ich habe eine Library "MeineLib" (dll) geschrieben und wollte nun Programmcode in eine Unit auslagern, damit das Programm übersichtlicher wird.
Da Proceduren und Funktionen in der Unit auf Variablen in der Library zugreifen, müssen der Unit hier ja irgendwie die Variablen der Library zugänglich gemacht werden. Folgendes in der Unit geht nicht, da keine "MeineLib.dcu"-Datei vorhanden ist:
Delphi-Quellcode:
implementation
uses MeineLib;
Wie macht man das denn bei einer Library?

Gruss
Seven
Mein Kindheitstraum: Die 32bit Farbpalette als Bundstiftsammlung.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wie Uses in Unit einer Library (dll) verwenden?

  Alt 8. Okt 2007, 14:42
Du musst die Prozeduren/funktionen der DLL importieren.

procedure Bla external 'bladll.dll';
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

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

Re: Wie Uses in Unit einer Library (dll) verwenden?

  Alt 8. Okt 2007, 14:49
Sers mitnand!

@mkinzler: Ich glaube SevenOfNine meinte das anderst...

@SevenOfNine: AFAIK ist das ohne weiteres nicht möglich. Du könntest höchstens die Variablen in der Library in eine weitere Unit packen und diese Unit dann sowohl in der Library, als auch in der anderen Unit einbinden. Die Variablen sin dann für beide die gleichen.

(Sollte man es doch anderst machen könne, lasse ich mich gerne belehren )
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
SevenOfNine

Registriert seit: 11. Jan 2007
Ort: Giessen, Mittelhessen
41 Beiträge
 
Delphi 7 Professional
 
#4

Re: Wie Uses in Unit einer Library (dll) verwenden?

  Alt 8. Okt 2007, 14:59
@JamesTKirk: Ich habe schon befürchtet, dass es nicht so ohne weiteres funktioniert. Aber das mit einer weiteren Unit, in der alle Variablen definiert sind, ist eine gute Idee. Ich werde das erst mal so machen.

Wenn jemand noch eine bessere Idee hat, kann er ruhig posten, aber mit der oben beschriebenen Lösung bin ich zufrieden

Danke
Seven
Mein Kindheitstraum: Die 32bit Farbpalette als Bundstiftsammlung.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Wie Uses in Unit einer Library (dll) verwenden?

  Alt 8. Okt 2007, 15:29
Es war schon in Pascal-Zeiten so, dass die Uses-Klausel auf Units beschränkt ist, denn gerade das ist der ursprüngliche Zweck von Units (das hat sich mit Delphi und VCL-Anwendungen etwas geändert): Gemeinsamen Code auslagern. Und Programme bearbeiten dann eine spezielles Problem, da wäre es unsinnig, in Units Programme einzubinden. Folglich musst du alles in eine Unit auslagern, wie schon beschrieben.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Wie Uses in Unit einer Library (dll) verwenden?

  Alt 8. Okt 2007, 15:39
Zitat von SevenOfNine:
@JamesTKirk: Ich habe schon befürchtet, dass es nicht so ohne weiteres funktioniert. Aber das mit einer weiteren Unit, in der alle Variablen definiert sind, ist eine gute Idee. Ich werde das erst mal so machen.
Globale Variablen - igitt. Und alles kreuz und quer darauf zukreifen lassen.

Aufteilen von Programmcode auf mehrer Units ist sinnvoll, aber dazu brauchst du dir nicht DLL's antun. Einfache Delphi-Units reichen erstmal
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
SevenOfNine

Registriert seit: 11. Jan 2007
Ort: Giessen, Mittelhessen
41 Beiträge
 
Delphi 7 Professional
 
#7

Re: Wie Uses in Unit einer Library (dll) verwenden?

  Alt 8. Okt 2007, 15:51
Zitat von Bernhard Geyer:
Globale Variablen - igitt. Und alles kreuz und quer darauf zukreifen lassen.
Aufteilen von Programmcode auf mehrer Units ist sinnvoll, aber dazu brauchst du dir nicht DLL's antun. Einfache Delphi-Units reichen erstmal
Ich muss mir leider DLLs antun, da es sich um ein PluginSystem handelt. Die ersten Plugins schreibe ich selber, damit man ein paar Beispiele hat.
Mein Kindheitstraum: Die 32bit Farbpalette als Bundstiftsammlung.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Wie Uses in Unit einer Library (dll) verwenden?

  Alt 8. Okt 2007, 15:54
Zitat von SevenOfNine:
Ich muss mir leider DLLs antun, da es sich um ein PluginSystem handelt. Die ersten Plugins schreibe ich selber, damit man ein paar Beispiele hat.
Dann sind ein paar Fragen vorher nötig:

- Werden Plugins nur Firmenintern programmiert?
- Welche Programmiersprachen können vorkommen?
- Installation erlaubt bzw. nicht verboten?
- Fertiges Framemwork erlaubt?
Windows Vista - Eine neue Erfahrung in Fehlern.
  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:04 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