AGB  ·  Datenschutz  ·  Impressum  







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

Funktions-Deklaration in Library

Ein Thema von Der schöne Günther · begonnen am 11. Mär 2013 · letzter Beitrag vom 11. Mär 2013
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Funktions-Deklaration in Library

  Alt 11. Mär 2013, 14:00
Delphi-Version: XE2
Liebe Gemeinde,

ich bekomme es nicht gebacken, in einer library die Prototypen der Methoden vor der Implementierung bekanntzugeben.

Delphi-Quellcode:
library Project1;

uses
[...]

procedure eins();
begin
   //
end;

Nach dem uses geht es schon direkt los. Ich finde keinen Punkt, wo ich ganz harmlose Deklarationen der Methoden unterbringen könnte.

Wer kann mir helfen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Funktions-Deklaration in Library

  Alt 11. Mär 2013, 14:09
Es ist alles intern, was nicht explizit exportiert wird.

Delphi-Quellcode:
library Project1;

uses

{$R *.res}

procedure test();
begin
  //
end;

exports test;

begin
end.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Funktions-Deklaration in Library

  Alt 11. Mär 2013, 14:12
Und nicht vergessen, ggf. die Aufrufkonvention mit anzugeben, zumindest sofern die Library sprachunabhängig sein soll.
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
Der schöne Günther

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Funktions-Deklaration in Library

  Alt 11. Mär 2013, 14:22
Nein, nein.

Mir geht nicht um das Exportieren der Funktionen aus der dll heraus (und dementsprechend auch nicht um die entsprechenden Aufrufkonventionen).

Möchte ich eine Funktion in der dll aus einer anderen Funktion heraus benutzen muss sie bis dahin natürlich schon bekannt sein. Und ständig mit der Reihenfolge der Methoden zu spielen dass sie in der "richtigen" Reihenfolge implementiert werden macht auf Dauer keinen großen Spaß

Ich möchte nur die Funktionsprototypen irgendwo unterbringen um in der dll damit vernünftig arbeiten zu können...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Funktions-Deklaration in Library

  Alt 11. Mär 2013, 14:23
Es gibt in einer Bibliothek kein interface/implementationen

Nottfals per forward deklarieren
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Funktions-Deklaration in Library

  Alt 11. Mär 2013, 14:26
Delphi-Quellcode:
uses
  SysUtils,
  Classes;

{$R *.res}

function Func1: integer; forward;
function Func2: integer; forward;

function Add: integer;
begin
  Result := Func1 + Func2;
end;

function Func1: integer;
begin
  Result := 1;
end;

function Func2: integer;
begin
  Result := 2;
end;
[edit] Roter Kasten mal wieder im Urlaub, Markus war schneller (dafür ich ausführlicher, immerhin) [/edit]
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
Der schöne Günther

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Funktions-Deklaration in Library

  Alt 11. Mär 2013, 14:28
forward ist das Zauberwort, ich bedanke mich.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Funktions-Deklaration in Library

  Alt 11. Mär 2013, 15:08
forward ist das Zauberwort, ich bedanke mich.
Allerdings habe ich hier nirgendwo eine Methode gesehen nur einfache Proceduren.
Methoden gibt es nur innerhalb von Klassen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Funktions-Deklaration in Library

  Alt 11. Mär 2013, 16:59
Meine Meinung: angesichts der Tatsache, dass man mit ner library eh nur schlecht bis gar nicht direkte Unit-Tests durchführen kann (nur Unit-Tests der die DLL einbindenden Unit), gehören Funktionen eigentlich eh in eine separate Unit, die dieses Problem dann gar nicht kennt
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Funktions-Deklaration in Library

  Alt 11. Mär 2013, 17:08
Werde ich auf lange Sicht wahrscheinlich sowieso tun, aber immerhin kenne ich jetzt ein neues Delphi-Schlüsselwort
  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 23:52 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