![]() |
Procedure als Event definieren? Wenn ja, wie?
Hallo leute...
Ich möchte gerne eine einfache Procedure (enthalten in einer Unit) einem Event einer Komponente zuweisen... Da mein projekt schon recht weit ist kann ich diese Procedure leider nicht einfach in irgend eine Klasse schmeißen und diese erzeugen... Wie kann ich das machen? Währe über Anregungen sehr dankbar stho |
Re: Procedure als Event definieren? Wenn ja, wie?
Die Signatur der Methode muss passen. Welcher Klasse sie gehört ist egal
|
Re: Procedure als Event definieren? Wenn ja, wie?
Zitat:
|
Re: Procedure als Event definieren? Wenn ja, wie?
@mkinzler:
Was genau meinst du mit Signatur? |
Re: Procedure als Event definieren? Wenn ja, wie?
Delphi-Quellcode:
type
TEvent1 = function(index:integer):boolean; TEvent2 = procedure(index:integer); : : function EventHandler1(i:integer):boolean; begin end; procedure EventHandler2(i:integer); begin end; procedure StartEvent; var Event1:TEvent1; Event2:TEvent2; begin Event1:=EventHandler1; Event2:=EventHandler2; if Event1(1) then begin end; Event2(1); end; |
Re: Procedure als Event definieren? Wenn ja, wie?
Zitat:
Wie prüfe ich eine "Signatur" oder füge eine hinzu? EDIT: @omata sorry, war net schnell genug. ist nett das du etwas hinzu bringst aber leider verstehe ich nicht wie mir das bei der zuweisung helfen soll :-( Vielleicht bin ich eindach doof? |
Re: Procedure als Event definieren? Wenn ja, wie?
Zitat:
Wenn das Ereignis einen Methodenzeiger will, dann mußt du auch eine Methode übergeben. Signatur = Typen der Parameter und des Results und die Aufrufkonvention (ala stdcall) Zitat:
Zu welchem Objekt sie gehört ist egal.
Code:
Das Fette sind die Signaturen.
type
// Deklaration eines Prozedur-Zeigers TEvent1 = [b]function[/b](index: [b]integer[/b]): [b]boolean[/b]; [b]stdcall[/b]; [b]function[/b] EventProc(i: [b]integer[/b]): [b]boolean[/b]; [b]stdcall[/b]; begin end; type // Deklaration eines Methoden-Zeigers TEvent1 = [b]procedure[/b](index: [b]integer[/b]) of [i]object[/i]; [b]procedure[/b] [i]TMyClass[/i].EventMethod(i: [b]integer[/b]); begin end; |
Re: Procedure als Event definieren? Wenn ja, wie?
Unter Signatur versteht man den Typ der Rückgabe und die Anzahl und die Typen der Parameter
|
Re: Procedure als Event definieren? Wenn ja, wie?
Mach doch einfach aus der Prozedur eine Methode des Formulars (ich gehe mal davon aus, dass Du ein Formular hast).
|
Re: Procedure als Event definieren? Wenn ja, wie?
häääääääääää??????
Der bahnhof in meinem kopf ist grad nochmal größer geworden... :wall: Ich habe eine Procedure "Procedure BeforeInsert(Dataset : TDataset);" Und ich habe das Objekt "Command" vom Typ "TASQLite3Query". Ich möchte diese Procedure mit dem "Command.BeforeInsert" - event verbinden... leider verstehe ich nichtmal ansatzweise was ihr mit methoden und dem ganzen zeug sagen wollt... :gruebel: sorry... Nein, leider kein Formular... Das Objekt und die Procedure liegen einsam und alleine in einer eigenen Unit (Damit sie sich vielleicht mal näher kommen ^^) EDIT: So, jetzt muss ich erstmal lesen. hab zu lange mit dem schreiben gebraucht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:26 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