![]() |
Problem mit FormKeyPress
Hallo, ich bins mal wieder ;)
Ich wollte heute einige Hotkeys festlegen die ich drücken kann damit etwas passiert. Eigentlich klappt dies auch bzw. ich kann 2-3 Hotkeys binden aber dann geht auf einmal kein einziger mehr. Als Fehlermeldung steht da: [Pascal Fataler Fehler] F2039 Ausgabedatei 'C:\Dokumente und Einstellungen\Administrator\Desktop\Informatik \DelphiHauptmenü\Project1.exe' kann nicht erstellt werden Ich verändere NICHTS an den vorherigen Hotkeys, bei mir war es gerade z.B. der Fall dass ich anstatt + Hotkey nen - Hotkey dazugetan habe... und dann geht wie gesagt nichts mehr... Kein Key funktioniert mehr und ich weiß nicht warum. Hab den Quelltext mal eingefügt: die ersten beiden Hotkeys funktionierten.... als ich den dritten hinzugefügt habe erscheint nun der Error und es geht nichts mehr. Ich danke euch vielmals für eure Hilfe ;) Daniel Oh, habs falsch verlinkt den Quellcode, hier ist er nun ;)
Code:
Key 027,049 funktionierten, dann kam 050 dazu und der Fehler ;)
procedure TForm2.FormKeyPress(Sender: TObject; var Key: Char);
begin If Key = #027 //Escape// then begin Form2.Visible:=false; Form1.Visible:=true; end; If Key = #049 //1 für Minus bzw. Gang zurückschalten// then begin i:=i-1 ; panel1.caption:=inttostr(i); end; If Key = #050 //1 für Plus bzw. Gang hochschalten// then begin i:=i+1 ; panel1.caption:=inttostr(i); end; end; |
Re: Problem mit FormKeyPress
Stimmt der Pfad?
Läuft die Exe vielleicht noch (TaskManager :arrow: Prozesse)? |
Re: Problem mit FormKeyPress
Zitat:
Edit: Man, immer diese schnellen Rüsselmöpse :mrgreen: |
Re: Problem mit FormKeyPress
Oh hey, das ging ja mal fix ;)
Danke vielmals, das erklärt zumindest den Fatal Error, ich hatte wirklich die Exe noch am laufen. Allerdings funktionieren die Hotkeys immer noch nicht grüße Daniel |
Re: Problem mit FormKeyPress
Die funktionieren auch nur, wenn die Form fokusiert ist.
Wenn Du richtige Hotkeys willst ![]() |
Re: Problem mit FormKeyPress
hm wie meinste das mit die Form muss fokussiert sein?
Ich konnte ja 2 der Hotkeys zum laufen bringen, teilweise auch 3. Dann speicher ich oder will noch einen hinzufügen und dann funktioniert keiner mehr.... |
Re: Problem mit FormKeyPress
Was heißt, es funktioniert keiner mehr? Gibts nen Fehler, oder passiert einfach nichts?
Du könntest es z.B. so machen(OnKeyDown):
Delphi-Quellcode:
KeyPreview der Form sollte auf True sein.
procedure TMyForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin case Key of vk_Escape: begin Form2.Visible := False; Form1.Visible := True; end; vk_Add: begin Inc(i); Panel1.Caption := IntToStr(i); end; vk_Subtract: begin Dec(i); Panel1.Caption := IntToStr(i); end; end; end; Besser wäre es allerdings, wenn du für das ändern des Gangs eine eigene prozedur schreibst. Mfg |
Re: Problem mit FormKeyPress
Dir ist aber bekannt, dass man in Case-Of-Konstrukten auch begin-end verwenden kann?
Ich bin zwar ein ausgesprochener Freund von in Maßen eingesetztem Goto, aber hier ist es wirklich nicht zu empfehlen. |
Re: Problem mit FormKeyPress
Zitat:
|
Re: Problem mit FormKeyPress
hm mittlerweile hab ich das Problem gefunden....
Ich kann die Form nicht auf visible:=false setzen, da Buttons/Panels auf der Form sind. Ich brauch aber unbedingt ein ,,wechseln'' der Form. Der komplette Knopf geht nicht mehr nachdem ein Objekt auf der Form ist :( |
Re: Problem mit FormKeyPress
Delphi-Quellcode:
Oder direkt im OI einstellen. Wurde aber auch schon gesagt.
MyForm.KeyPreview := True;
|
Re: Problem mit FormKeyPress
großen Dank an den Fußballer ;)
genau der Befehl fehlte mir, danke auch an die anderen ;) bis zur nächsten Frage mfg |
Re: Problem mit FormKeyPress
Zitat:
das Goto wird dann unübersichtlich, wenn nicht mehr der ganze code auf den Bildschirm passt. Man sieht nicht mehr, was bei welcher Bedingung getan wird. Mit begin...end ist das wesentlich übersichtlicher. Und im übrigen bin ich der Ansicht, daß Goto fallen muss. :zwinker: |
Re: Problem mit FormKeyPress
Na gut, habs geändert. Wenn hier alle gegen goto sind.. Aber von der funktionsweise ändert das doch nichts. Es ist ja auch nicht so, dass ich das in jeder Prozedur benutze, aber ab und zu.. :wink:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 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 by Thomas Breitkreuz