Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Funktion aus Unit1 in Unit3 benutzen (https://www.delphipraxis.net/12688-funktion-aus-unit1-unit3-benutzen.html)

andianon 2. Dez 2003 15:02

Re: Funktion aus Unit1 in Unit3 benutzen
 
In Unit1:

Wenn du
Code:
function GetLevel(nick: string): string;
im interface-Teil von TForm1 deklariert, muss auch im implementation-Teil stehen:

Code:
function TForm1.GetLevel(nick: string): string;
Es fehlt das
Code:
TForm1

andianon 2. Dez 2003 15:10

Re: Funktion aus Unit1 in Unit3 benutzen
 
Jetzt kurz zum interface und implementation Teil:

Grob gesagt stehen im Interface-Teil einer Unit die Deklarationen(Bekanntmachungen) von Klassen, Methode, Veriablen, Konstanten usw., die eine andere Unit verwenden können soll.
Im Implementation-Teil steht dann der entsprechende Code zu der Deklaration.

An deinem Beispiel:

Du hast GetLevel als Methode der Klasse TForm1 im Interface-Teil deklariert und muss dann dafür sorgen, dass im Implementation Teil der entsprechende Code dazu steht TForm1.GetLevel usw...

Greifst du jetzt von Form3 aus auf Unit1.Form1.GetLevel zu, geht das nur, weil die Klasse TForm3 im Interface Teil von Unit1 die Klasse TForm1 mit der Methode GetLevel findet.

Reicht in Kurzform?

Pseudemys Nelsoni 2. Dez 2003 15:19

Re: Funktion aus Unit1 in Unit3 benutzen
 
hoi, danke für die antwort, ..hmm, ich bekomme aber jetzt wieder nen fehler O_o

Zitat:

[Fehler] Unit1.pas(61): Ungenügende Forward- oder External-Deklaration: 'TForm1.GetLevel'
[Fataler Fehler] Project1.dpr(9): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
(edit): hab deine letzte nachricht noch nicht gelesen, ich tu das mal schnell ^^

Pseudemys Nelsoni 2. Dez 2003 15:26

Re: Funktion aus Unit1 in Unit3 benutzen
 
ah, es funktioniert.

danke nochmal für die extra nachhilfe :)

btw: kann ich meine function nicht auch ohne "TForm1...."benennen?

andianon 2. Dez 2003 15:27

Re: Funktion aus Unit1 in Unit3 benutzen
 
Im interface-Teil von Unit1 ist eine Klasse definiert, die TForm1 heißt. In dieser Klasse ist eine Methode GetLevel deklariert (hier gehört natürlich kein TForm1 davor).
Im implementation-Teil von Unit1 stand die Methode GetLevel ohne das davorgehörige TForm1.

Anleitung:
- In Unit1: setzte im implementation-Teil ein "TForm1" vor "GetLevel..." ---> "function TForm1.GetLevel..."

andianon 2. Dez 2003 15:29

Re: Funktion aus Unit1 in Unit3 benutzen
 
Letztes Post war dann wohl überflüssig. Natürlich kannst du das TForm1 weglassen, aber wenn du möchtest, dass GetLevel zu TForm1 gehört, dann schreib es gefälligst davor, denn sonst funzt es nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.
Seite 2 von 2     12   

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