Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Funktion von einer anderen Form aufrufen (https://www.delphipraxis.net/113337-funktion-von-einer-anderen-form-aufrufen.html)

Delphiturbo 6. Mai 2008 12:43


Funktion von einer anderen Form aufrufen
 
Hallo

ich habe die Funktion in Form2 und wollte ich sie von der Form1 aufrufen
Delphi-Quellcode:
Edit1.Text:= Form2.serial(x)); // Undeclared serial
Muss ich die Funktion als global in Form1 deklarieren?
Und wie ?

toms 6. Mai 2008 12:49

Re: Funktion von einer anderen Form aufrufen
 
Zitat:

Zitat von Delphiturbo
Hallo

ich habe die Funktion in Form2 und wollte ich sie von der Form1 aufrufen
Delphi-Quellcode:
Edit1.Text:= Form2.serial(x)); // Undeclared serial
Muss ich die Funktion als global in Form1 deklarieren?
Und wie ?

Im Public Abschnitt

FAlter 6. Mai 2008 12:53

Re: Funktion von einer anderen Form aufrufen
 
Hi,

Zitat:

Zitat von Delphiturbo
Muss ich die Funktion als global in Form1 deklarieren?

Nein, wenn sie zu Form2 gehört, dass dann auch bei Form2.

Mfg
FAlter

Delphiturbo 6. Mai 2008 12:59

Re: Funktion von einer anderen Form aufrufen
 
Sie gehört wie ich beschrieben habe, zu Form2
Und wenn ich die Funktion normal als global in Form1 zu deklarieren
bekomme ich Fehlermeldung : Unsatisfied external declaration

Delphiturbo 6. Mai 2008 13:00

Re: Funktion von einer anderen Form aufrufen
 
Delphi-Quellcode:
function serial(user: String): String;

imag 6. Mai 2008 13:22

Re: Funktion von einer anderen Form aufrufen
 
Schreib die Deklaration bei Form2 in den 'public' Abschnitt und rufe dann aus Form1 form2.serial(xyzzy); auf

Delphiturbo 6. Mai 2008 13:39

Re: Funktion von einer anderen Form aufrufen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das habe ich gemacht

imag 6. Mai 2008 13:41

Re: Funktion von einer anderen Form aufrufen
 
Nicht TForm2.serial sondern Form2.serial
ohne T davor

Zumindest auf der Errormessage siehts so aus als ob du TForm2.serial aufgerufen haettest...

FAlter 6. Mai 2008 13:48

Re: Funktion von einer anderen Form aufrufen
 
Hi,

Zitat:

Zitat von imag
Nicht TForm2.serial sondern Form2.serial
ohne T davor

Zumindest auf der Errormessage siehts so aus als ob du TForm2.serial aufgerufen haettest...

genau umgedreht. Der Compiler such nach TForm2.serial (logisch, die Klasse heißt ja TForm2).

Geh mal dahin wo die procedure implementiert (also unterhalb der Zeile implementation) ist und mach TForm2.Serial draus.

[edit] Am besten du leist dir das mal durch: http://www.delphi-treff.de/sprachen/...scal/methoden/
Wobei ich gerade sehe, dass da versucht wird, auf eine private Methode von außen zuzugreifen. Geht natürlich nur innherhalb der Unit. [/edit]

Mfg
FAlter

imag 6. Mai 2008 13:55

Re: Funktion von einer anderen Form aufrufen
 
Ich mein jetzt nicht die Deklaration, sondern den Aufruf.
Beid er Deklaration kann man TForm angeben, muss man aber nciht.. (Oder ist mein Delphi schon so totkonfiguriert:-))


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

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