Delphi-PRAXiS

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:-))

Delphiturbo 6. Mai 2008 13:59

Re: Funktion von einer anderen Form aufrufen
 
Form2 habe ich als global deklariert, deswegen schreibt Delphi "TForm2"
Ich habe
Delphi-Quellcode:
Form2.Serial(x);
eingegen
der Fehler ist nicht in Button-Code sondern in der Deklaration, wie im Bild

Ich finde keine "TForm2.Serial"

mkinzler 6. Mai 2008 14:02

Re: Funktion von einer anderen Form aufrufen
 
Hast du den die Methode implementiert?

Delphiturbo 6. Mai 2008 14:40

Re: Funktion von einer anderen Form aufrufen
 
Zitat:

Zitat von mkinzler
Hast du den die Methode implementiert?

welche Methode !?

mkinzler 6. Mai 2008 14:44

Re: Funktion von einer anderen Form aufrufen
 
Na die Methode Serial(), welche du im Interface deklariert hast.

Phoenix 6. Mai 2008 14:45

Re: Funktion von einer anderen Form aufrufen
 
Die Methode 'serial', die Du offenbar (screenshot) deklariert, aber (Fehlermeldung) nicht implementiert hast.

Delphiturbo 6. Mai 2008 14:50

Re: Funktion von einer anderen Form aufrufen
 
Wie implementiere ich diese Funktion ? :gruebel:

mkinzler 6. Mai 2008 14:53

Re: Funktion von einer anderen Form aufrufen
 
Was soll sie den machen ? :gruebel:

Phoenix 6. Mai 2008 14:53

Re: Funktion von einer anderen Form aufrufen
 
Oben in der Deklaration Ctrl+Shift+C drücken. Dann steht der Rumpf schonmal da...

Der.Kaktus 6. Mai 2008 14:56

Re: Funktion von einer anderen Form aufrufen
 
Zitat:

Zitat von Delphiturbo
Wie implementiere ich diese Funktion ? :gruebel:

Hallo, warst Du nicht gestern oder vorgestern schon mit dem Thema function serial(x)..speziell s1 variable hier vertreten?...leg doch einfach mal wieder Stueck Quelltext hier rein ..geht meist einfacher.

DeddyH 6. Mai 2008 16:12

Re: Funktion von einer anderen Form aufrufen
 
:shock: Ich dachte, das Thema wäre durch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 Uhr.

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