Problem z dynamicznym przypisaniem procedury do zdarzenia

0

Cześć. Żeby przypisać dynamicznie procedurę do zdarzenia, wystarczy zrobić np:

Edit.OnChange:=ZmianaEdita;

(oczywiście parametry się muszą zgodzić).

Ja mam problem taki, że chcę przypisać procedurę do zdarzenia OnKeyPress. Moja procedura znajduje się w innym unicie, ale nie jest składnikiem klasy, no i jest zadeklarowana następująco:

procedure FloatEditKeyPress(Sender: TObject; var Key: Char);

Niestety podczas przypisania:

  edit.OnKeyPress:=FloatEditKeyPress;

to dostaję komunikat, że Incompatible types: method pointer and regular procedure.
Co mam zrobić, żeby było dobrze?

0

Chyba nie ujdzie inaczej. Procedura musi być w klasie w której jest przypisywane zdarzenie. Możesz jedynie w tej procedurze wywołać jakąś inną spoza klasy

0
PiXel napisał(a)

Chyba nie ujdzie inaczej. Procedura musi być w klasie w której jest przypisywane zdarzenie.

nie do końca jest to prawda - komunikat wyraźnie mówi "method pointer and regular procedure" czyli do zdarzenia możesz przypisać WYŁĄCZNIE METODĘ a te mają jedynie klasy i wcale nie musi to być metoda 'klasy w której jest przypisywane zdarzenie" tylko obojętnie jakiej klasy

1 użytkowników online, w tym zalogowanych: 0, gości: 1