AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Form reagiert nicht auf Sender in der procedure onkeypress
Thema durchsuchen
Ansicht
Themen-Optionen

Form reagiert nicht auf Sender in der procedure onkeypress

Ein Thema von Philippe Sch. · begonnen am 27. Dez 2002 · letzter Beitrag vom 27. Dez 2002
Antwort Antwort
Philippe Sch.

Registriert seit: 14. Dez 2002
Ort: Solothurn/Schweiz
25 Beiträge
 
Delphi 5 Professional
 
#1

Form reagiert nicht auf Sender in der procedure onkeypress

  Alt 27. Dez 2002, 08:40
Ich habe ein seltsames Problem. Bei der Routine onkeypress des Formulars möchte ich je nach Sender eine andere Routine abarbeiten. Aber der Sender (Absender) wird nicht erkannt, also z.b. if sender =maskedit1 then... wird schlicht übergangen. Gibt's irgendeine Einstellung, die vielleicht falsch ist? Gelegentlich (bei anderen Routinen in kleinen Testprogrammen) hat diese Anweisung funktioniert.
vielen Dank für die Hilfe. Bin Amateur, früher Clipper, jetzt Delphi
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 27. Dez 2002, 08:56
Du musst die Eigenschaft KeyPreview des Forms auf True setzen.
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Philippe Sch.

Registriert seit: 14. Dez 2002
Ort: Solothurn/Schweiz
25 Beiträge
 
Delphi 5 Professional
 
#3
  Alt 27. Dez 2002, 09:28
die Eigenschaft keypreview ist auf true. Funktioniert trotzdem nicht.
vielen Dank für die Hilfe. Bin Amateur, früher Clipper, jetzt Delphi
  Mit Zitat antworten Zitat
[Flox]Cauchy

Registriert seit: 25. Dez 2002
Ort: Wiesbaden
13 Beiträge
 
Delphi 5 Enterprise
 
#4
  Alt 27. Dez 2002, 09:34
Ich verstehe nicht, wie das funktionieren soll. Der Sender, der bei einem OnClick-Ereignis übergeben wird, ist doch immer das Objekt, auf das geklickt wurde. Das ist in diesem Fall immer das Formular, so daß es meiner Meinung nach gar keinen Sinn macht, den Sender mit irgendeinem Objekt zu vergleichen. Oder sehe ich das falsch?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 27. Dez 2002, 09:37
Oops, ich glaube ich habe da was überlesen. Wenn es Dir um den Sender geht, so müsste dieser im Form1.OnKeyPress immer das Form sein, da dessen Eireignisschleife dieses Ereignis feuert. Erst die Handler für die einzelnen Objekte setzen den Sender entsprechend. Versuch mal den aktuellen "Sender-Möchte-Ich" über Form1.ActiveControl zu ermitteln.
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Philippe Sch.

Registriert seit: 14. Dez 2002
Ort: Solothurn/Schweiz
25 Beiträge
 
Delphi 5 Professional
 
#6
  Alt 27. Dez 2002, 10:14
danke für die Tips. Tatsächlich ist immer das Formular Sender, wenn ich den Sender abfrage. Da bin ich völlig schief gelegen und habe das falsch verstanden... Wozu dient denn eigentlich diese Abfrage nach dem Sender?
vielen Dank für die Hilfe. Bin Amateur, früher Clipper, jetzt Delphi
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 27. Dez 2002, 10:18
Die Abfrage nach dem Sender wird in dem Moment interessant, wenn man mehreren Objekten die gleiche Ereignisroutine zuweist. Z.B.: Du hast mehrere Editfelder, wo die Werte numerisch sein müssen dann kannst Du folgendes im OnExit Ereignis machen
Delphi-Quellcode:
procedure Form1.NumEditOnExit(Sender: TObject);
begin
  if Sender is TEdit then
  try
    StrToInt(TEdit(Sender).Text);
  except
    ShowMessage('Der angegebene Wert ist nicht numerisch!');
    TEdit(Sender).SetFocus;
  end
end;
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Philippe Sch.

Registriert seit: 14. Dez 2002
Ort: Solothurn/Schweiz
25 Beiträge
 
Delphi 5 Professional
 
#8
  Alt 27. Dez 2002, 12:49
klappt tatsächlich so. merci
vielen Dank für die Hilfe. Bin Amateur, früher Clipper, jetzt Delphi
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:46 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