Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Funktionen in eine Unit auslagern (https://www.delphipraxis.net/42980-funktionen-eine-unit-auslagern.html)

Berserker 26. Mär 2005 23:08


Funktionen in eine Unit auslagern
 
Hallo.

Wie kann ich meine gesamten Funktionen die ich mir in Delphi erstellt habe in eine extra UNIT auslagern und diese Funktionen überall aus aufrufen?

Oder sollte man eher eine DDL benutzen?`

MfG, Ronny

Binärbaum 26. Mär 2005 23:23

Re: Funktionen in eine Unit auslagern
 
Das ist prinzipell möglich, du musst nur die Funktionen im interface-Abschnitt der Unit veröffentlichen und dann kannst du diese Unit über die uses-Klausel in andere Delphi-Projekte/ Units einbinden.

MfG
Binärbaum

Matze 26. Mär 2005 23:38

Re: Funktionen in eine Unit auslagern
 
Nicht vergessen, die den Pfad deiner Unit in die Bibliothek aufzunehmen, falls das Verzeichnis nicht schon eingetragen ist ( Tools --> Umgebungsopetionen --> Bibliothek ).

Robert_G 26. Mär 2005 23:53

Re: Funktionen in eine Unit auslagern
 
Zitat:

Zitat von Matze
Nicht vergessen, die den Pfad deiner Unit in die Bibliothek aufzunehmen, falls das Verzeichnis nicht schon eingetragen ist ( Tools --> Umgebungsopetionen --> Bibliothek ).

Genau das ist der falsche Weg. ;)
Man konfiguiert Delphi am besten so, dass es DCUs immer an einem einzigen Ort packt. (Das gleich gilt für BPLs und dazugehörige DCPs)
Jetzt musst du nur noch den Ordner mit den DCUs und den mit BPLs in den Library Path aufnehmen.
Auf die Art lassen sich auch Probleme mit unterschiedlichen DCU Versionen beseitigen...

Matze 26. Mär 2005 23:58

Re: Funktionen in eine Unit auslagern
 
Wie meinst du das? :gruebel:

Ich habe z.B. einen Ordner im Ordner "Lib", namens "own_units", da hau ich meine Units rein, die ich öfters brauche, sonst gebe ich sie immer in den Projektordner, da so alles beisammen ist.

Wie kann es da zu Problemem kommen?

Berserker 27. Mär 2005 00:45

Re: Funktionen in eine Unit auslagern
 
Hi.

Danke erstmal für die schnellen Antworten also wie muss ich das oben reinsetzen, das die Unit aufrufbar ist?

Delphi-Quellcode:
unit fuktionen;

interface

implementation

uses md5;

function Addslashes(str: string): string;
begin
 str:=StringReplace(str,'\', '\\',[rfReplaceAll,rfIgnoreCase]);
 str:=StringReplace(str,'''', '\''',[rfReplaceAll,rfIgnoreCase]);
 str:=StringReplace(str,'"', '\"',[rfReplaceAll,rfIgnoreCase]);
 result:=str;
end;

end.
Was muss ich dann noch einfügen damit es funktioniert?

MfG, Ronny

stoxx 27. Mär 2005 00:48

Re: Funktionen in eine Unit auslagern
 
vielleicht nur ein Schusselfehler ? :lol: :spin:

Zitat:

unit fuktionen;
bzw. sysutils einbinden ..

Muetze1 27. Mär 2005 00:52

Re: Funktionen in eine Unit auslagern
 
Moin!

Die Funktion auch im Interface Abschnitt bekannt machen nach aussen hin...

Delphi-Quellcode:
unit fuktionen;

interface

function Addslashes(str: string): string;

implementation

uses md5;

function Addslashes(str: string): string;
begin
str:=StringReplace(str,'\', '\\',[rfReplaceAll,rfIgnoreCase]);
str:=StringReplace(str,'''', '\''',[rfReplaceAll,rfIgnoreCase]);
str:=StringReplace(str,'"', '\"',[rfReplaceAll,rfIgnoreCase]);
result:=str;
end;

end.
MfG
Muetze1

Berserker 27. Mär 2005 01:34

Re: Funktionen in eine Unit auslagern
 
Hi.

Vielen Dank für die Schnelle Antwort.
Funktioniert prima.

Thx Thx Thx :thumb:

Lesco 29. Mär 2005 19:18

Re: Funktionen in eine Unit auslagern
 
Zitat:

Zitat von Berserker
Hallo.

Wie kann ich meine gesamten Funktionen die ich mir in Delphi erstellt habe in eine extra UNIT auslagern und diese Funktionen überall aus aufrufen?

Oder sollte man eher eine DDL benutzen?`

MfG, Ronny

wenn schon dll und ich persönlich nutze dlls nur zur code-injection/hooks
dlls sind ansonsten nur wichtig wenn man code zwischen verschiedenen Sprachen austauschen will


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 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