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 Fertige Procedure über Button ausführen? (https://www.delphipraxis.net/126138-fertige-procedure-ueber-button-ausfuehren.html)

himitsu 19. Dez 2008 07:39

Re: Procedure Problem!
 
Zitat:

Zitat von hoika
Beide OnClick-Methoden (oder was auch immer)
rufen dann die DoSomeThing methode auf.

Delphi-Quellcode:
procedure TForm1.Button1OnClick; // oh Gott Button 1 ???
begin
  DoSomeThing;
end;

procedure TForm1.Button2OnClick;
begin
  DoSomeThing;
end;

bevor es untergeht ... OnClick-Methoden haben einen Parameter (Sender: TObject)

PS: wenn du DoSomeThing auch soeinen Parameter gibst und DoSomeThing in einer Klasse definierst (halt irgendeine Art 'ner Klassen-Methode), dann kannst du DoSomeThing dem Button auch direkt zuweisen.

Delphi-Quellcode:
T... = class(...)

public
  { Public-Deklarationen }
  procedure DoSomeThing(Sender: TObject = nil);
end;

// "..." kann auch etwas von TForm sein, muß es aber nicht
dank dem =nil im Parameter kann man DoSomeThing; auch weiterhin ohne Parameter direkt aufrufen.

Wichtig: die Sichtbarkeit der Methode muß public oder published sein
und wird =nil weggelassen muß bei direktem Aufruf der Methode der Parameter angegeben werden

Luckie 19. Dez 2008 08:30

Re: Fertige Procedure über Button ausführen?
 
Die Methode von hoika ist auf alle Fälle vorzuziehen. Es ist einfach sauberer, weil die Funktionalität von der Oberfläche getrennt wird. Ausserdem sieht man gleich was passiert, wenn man der Funktion einen aussagekräftigen Namen gibt.

himitsu 19. Dez 2008 08:46

Re: Fertige Procedure über Button ausführen?
 
Zitat:

Ausserdem sieht man gleich was passiert, wenn man der Funktion einen aussagekräftigen Namen gibt.
also bei mir kann man das auch

(bei Definition in der Form, kann die Prozedur direkt über den OI zugewiesen werden
und bei Definition an anderer Stelle, dann via QuellCode)


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