AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kann Event nicht zuweisen! Wieso?

Ein Thema von stho · begonnen am 19. Jan 2010 · letzter Beitrag vom 19. Jan 2010
Antwort Antwort
Seite 1 von 2  1 2      
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#1

Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 11:05
Hallo Leute

Ich hänge seit 1 Stunde an einem Problem das ich selbst mit Hilfe der SuFu nicht gelöst bekomme...
Ich erstelle zur Laufzeit ein Objekt. Das ist ja auch kein Problem.

Dann weise ich dem Objekt mit

Delphi-Quellcode:
OBJNAME.OnKeyDown := TestUnit.EventKeyDown(Sender: TObject; var Key: Word;
                                           Shift: TShiftState);
das Event zu.

Das event ist in der TestUnit so fediniert:

Delphi-Quellcode:
procedure EventKeyDown(Sender: TObject; var Key: Word;
                       Shift: TShiftState);
doch er sagt mir immer "Nicht genügend wirkliche Parameter"
Was mache ich hier falsch?!
  Mit Zitat antworten Zitat
Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 11:10
Die Parameter musst bzw. darfst du beim zuweisen nicht angeben.

OBJNAME.OnKeyDown := TestUnit.EventKeyDown; MfG Alaitoc
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 11:15
Zitat von Alaitoc:
Die Parameter musst bzw. darfst du beim zuweisen nicht angeben.

OBJNAME.OnKeyDown := TestUnit.EventKeyDown; MfG Alaitoc

hab ich schon ausprobiert
dann kommt folgendes:

E2009 Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur'

ich bin noch immer ratlos... habe ja schon in früheren projekten events angehängt...
aber dieses mal klappts einfach nicht
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 11:16
Deine Ereignisprozedur muss eine Methode einer Klasse sein.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 11:19
methode einer klasse....
okay, ich werde mal eine klasse draus basteln und schauen obs dann funktioniert.

im moment hab ich nur reine prozeduren in der testunit
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 11:22
Zitat von stho:
methode einer klasse. ...
Nich einer Klasse sondern die Methode muss zu der Klasse gehören in der OBJNAME deklariert ist.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

Re: Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 11:35
Der Compiler sagt wirklich was von "ungenügend Parametern"
nichts von "Prozedur kann nicht auf Methodenzeiger zugewiesen werden"?

Wenn dem so ist, dann kannst du mal versuchen den bei Methoden "versteckten" Self-Parameter mit anzugeben.
procedure EventKeyDown(Self, Sender: TObject; var Key: Word; Shift: TShiftState);
Zitat von Sharky:
Nich einer Klasse sondern die Methode muss zu der Klasse gehören in der OBJNAME deklariert ist.
Nein, es kann eine Methode irgendeiner Klasse sein.
(darum wird bei Methoden ja auch die Instanz der zugehörigen Klasse mit gespeichert und als Self weitergegeben)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

Re: Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 12:23
Da procedure EventKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
fehlte
of object;

also
Delphi-Quellcode:
procedure EventKeyDown(Sender: TObject; var Key: Word;
                       Shift: TShiftState) of object;
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#9

Re: Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 13:05
Zitat von franktron:
Da ... fehlte of object;
Das geht nur bei Deklaration einer Variable.
Eine Prozedur kann man nicht so deklarieren.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Kann Event nicht zuweisen! Wieso?

  Alt 19. Jan 2010, 13:27
Hallo,

of object kann bei Prozedurtypen verwendet.

Delphi-Quellcode:
type
  TMyProc = procedure(x: Integer) of object;
Das ist aber ein anderes Thema.


Heiko
Heiko
  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 05:55 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