Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Button-Ereignis auf zur Laufzeit erstelltem Formular


raphael.23 - Do 13.04.06 13:47
Titel: Button-Ereignis auf zur Laufzeit erstelltem Formular
Hallo!
Wie kann ich diese Prozedur:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure save(squadnumber:integer;truppfuehrer,truppmann1:string);
var ini:tinifile;
begin
ini:=tinifile.create(extractfilepath(paramstr(0))+'squads.ini');
ini.writestring('squad_'+inttostr(squadnumber),'Truppführer',truppfuehrer);
ini.writestring('squad_'+inttostr(squadnumber),'Truppmann1',truppmann1);
ini.free;
end;

diesem Button:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
     button_save:=tbutton.create(newsquad);
     with button_save do
          begin
          parent:=newsquad;
          setbounds(700,400,80,40);
          caption:='Speichern';
          end;

als OnClick- Ereignis auf diesem Formular:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
newsquad:=tform.Create(application);
with newsquad do
     begin
     SetBounds(50,50,800,500);
     Color:=clblue;
     Caption:='Angriffstrupp '+inttostr(squadnumber);
     visible:=true;
     end;

zuweisen?
Vielen Dank im Voraus....


Narses - Mo 17.04.06 23:27

Moin!

Mach dich mal ein bischen "schlau": Suche in: Delphi-Forum, Delphi-Library BUTTON DYNAMISCH

cu
Narses


Kroko - Di 18.04.06 08:22

user profile iconNarses hat folgendes geschrieben:
Moin!

Mach dich mal ein bischen "schlau": Suche in: Delphi-Forum, Delphi-Library BUTTON DYNAMISCH

cu
Narses


@narses: joooo!
@rafael.23: die Suche [http://www.delphi-forum.de/search.php] benutzen, die Frage gibt es nur wöchentlich einmal (höchstens) :wink:


Simon Joker - Di 18.04.06 09:43

Um die Antwort einfach zu halten: ÜBERHAUPT NICHT!


Grund ->

Delphi-Quelltext
1:
procedure save(squadnumber:integer;truppfuehrer,truppmann1:string);                    

ist eine Procedure und wird mit einem einfachen Pointer referenziert. Sie ist unter keinen Umständen kompatibel mit einem Methoden-Zeiger wie den OnClick-Event

Delphi-Quelltext
1:
2:
3:
type TNotifyEvent = procedure (Sender: TObject) of object;

property OnClick: TNotifyEvent;

der in zwei Pointern gespeichert (Zum Objekt & zur Methode) wird.

Du mußt die Save in eine Methode (!) vom Typ TNotifyEvent verpacken, dann kannst du suchen gehen.

MfG Simon


raphael.23 - Sa 22.04.06 11:58

Hi.
Ich hab das doch noch nee ganz gerafft.
Ich hab zwar ne Weile probiert und andere Threads gelesen, aber ich kriegs immer noch nee hin.
simon:
Du mußt die Save in eine Methode (!) vom Typ TNotifyEvent verpacken, dann kannst du suchen gehen.

Wie und wo muss ich das machen??