AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Komponente erstellen und Ereignis zuweisen
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente erstellen und Ereignis zuweisen

Offene Frage von "pmc"
Ein Thema von Stevie · begonnen am 11. Sep 2003 · letzter Beitrag vom 15. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 11:26
Hallo,

ich hab mir das Tutorial zum Erstellen einer Komponente schon durchgelesen, das schonmal vorweg!
Ich versuche nun verzeifelt eine Komponente zu erstellen und einem Ereignis eine Methode zuzuweisen. Wie mache ich das?
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#2

Re: Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 11:34
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  button :TButton;
begin
  button := TButton.Create(Form1);
  button.Parent := Form1;
  button.Caption := 'Test';
  button.Top := 100;
  button.Left := 100;
  button.OnClick := self.Button2Click
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage('test');
end;
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 11:38
Nein, nicht zu Laufzeit!!!
Ich will eine neue Komponente erstellen, die das macht.
Wie könnte ich jetzt zum Beispiel einen neuen Button erstellen, der immer, wenn ich draufklicke irgendwas macht??
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#4

Re: Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 11:38
Delphi-Quellcode:
  btn2 := TButton.Create(Form1);
  btn2.Parent := Form1;
  btn2.Caption := 'btn2';
  btn2.OnClick := button.OnClick;
Das unter die Zeile button.OnClick := self.Button2Click; schreiben. Deklaration nicht vergessen. Und der Btn2 führt das OnClick ereignis des buttons aus den du vorher erstellt hast
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#5

Re: Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 11:39
Ups..Sorry...Moment..Ich guck mal
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#6

Re: Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 11:40
Komponenten-Tutorial
Hoffe das hast du nicht schon gelesen. Das ist eigentlich ganz gut für den anfang
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

Re: Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 12:17
Ok, gelesen. Wie weise ich jetzt einem Ereignis meiner abgeleiteten Komponente bereits im Konstruktor eine Routine zu?
Stefan
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 12:33
Moin Stevie,

schau Dir doch noch mal Kapitel 6 des genannten Tutorials an.
Der Unterschied ist nur, dass Du keine published property daraus machst. Ein internes Feld genügt, und diesem weist Du dann eben die Routine zu.
Ist genau das gleiche, als würdest Du eine Kompo dynamisch erzeugen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

Re: Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 12:45
1.) Wenn ich es doch published mache, und ein Benutzer dann im OI eine neue Routine dafür anlegt, wird dann meine "interne" überschrieben?
2.) Wenn ich ein bereits vorhandenes Ereignis mit einer Routine belege, müsste doch im OI dann doch was stehen, oder?
3.) Wenn ich als Eigenschaft der Vorgänger-Komponente eine Liste von Komponenten habe, ich im Konstruktor meiner Komponente einige Komponenten in diese Liste einfüge, kann ich dann auch so einfach diesen einzelnen Komponenten Ereignisroutinen zuweisen?
Stefan
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Komponente erstellen und Ereignis zuweisen

  Alt 11. Sep 2003, 12:55
Moin Stevie,

1. Ja, aber Du könntest ja den Wert in der Eigenschaft mit dem Deiner internen Methode vergleichen. Sind die unterschiedlich wurde im OI eine Routine zugewiesen.
2. Weiss nich'. Probier's am Besten mal aus
3. Falls ich das richtig verstanden habe: Ja, warum nicht. (ggf. wäre vielleicht eine ausführlichere Erklärung nötig, was Du genau meinst)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.
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