AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Unterschiedliches Verhalten mit und ohne Haltepunkt

Unterschiedliches Verhalten mit und ohne Haltepunkt

Ein Thema von Sven M. · begonnen am 8. Jul 2015 · letzter Beitrag vom 8. Jul 2015
Antwort Antwort
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#1

Unterschiedliches Verhalten mit und ohne Haltepunkt

  Alt 8. Jul 2015, 11:19
Delphi-Version: XE8
Hi zusammen,
ich habe eine Klasse, die die Kommunikation und Ansteuerung einiger Displays kapselt. Das ganze läuft via RS485 und TApdComPort. Nun will ich, je nach Zustand, die Displays etwas anzeigen lassen.

Delphi-Quellcode:
  if Key=VK_F10 then
  begin
    case Display.Status of
      Virgin: Display.DoEightTest;
      Initialized: Display.DoEightTest;
      Eights: Display.ShowHardwareAdresses;
      Adresses: Display.Initialize;
    end;
  end;
So viel vorab: Wennn ich die Prozeduren via Buttons aufrufe funktioniert das problemlos und alle Displays tun, was sie sollen.
Drücke ich aber F10 (KeyPreview=True), so wird offenbar nur jeder zweite Tastendruck erkannt. Warum auch immer.
Setze ich nun aber einen Haltepunkt auf die "case.."-Zeile funktioniert auch das problemlos und direkt beim ersten Tastendruck.



Ich bitte um Ratschläge, weil ich etwas ratlos bin...
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Unterschiedliches Verhalten mit und ohne Haltepunkt

  Alt 8. Jul 2015, 11:37
Sollte dein Fenster ein Menü haben, wird dieses mit der Taste F10 aktiviert, das ist in Windows so definiert.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#3

AW: Unterschiedliches Verhalten mit und ohne Haltepunkt

  Alt 8. Jul 2015, 11:46
Hat es nicht.


Die Deklaration der Form sieht so aus:
Delphi-Quellcode:
type
  TfrmLogin = class(TForm)
    Image1: TImage;
    lblLogin: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  private
    { Private-Deklarationen }
    Display: TDisplayCommunication;
  public
    { Public-Deklarationen }
end;
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Unterschiedliches Verhalten mit und ohne Haltepunkt

  Alt 8. Jul 2015, 11:53
Und wenn du nach der Behandlung Key auf 0 setzt? Key := 0;
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Unterschiedliches Verhalten mit und ohne Haltepunkt

  Alt 8. Jul 2015, 12:55
Ich würde in der Anwendung für diesen Zweck einen Keyboard-Hook setzen.
Der funktioniert, egal welches Formular oder Steuerelement deiner Anwendung den Focus hat.
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#6

AW: Unterschiedliches Verhalten mit und ohne Haltepunkt

  Alt 8. Jul 2015, 14:54
Und wenn du nach der Behandlung Key auf 0 setzt? Key := 0;
Das funktioniert hervorragend. Aber warum?
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#7

AW: Unterschiedliches Verhalten mit und ohne Haltepunkt

  Alt 8. Jul 2015, 16:31
Und wenn du nach der Behandlung Key auf 0 setzt? Key := 0;
Das funktioniert hervorragend. Aber warum?
Weil dann der Tastendruck als behandelt gilt und Windows bzw. weitere Behandlungsroutinen nicht noch etwas damit machen möchte/n.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:40 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