AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi KeyPress unter Form2 funktioniert nicht.

KeyPress unter Form2 funktioniert nicht.

Ein Thema von akurka · begonnen am 10. Mai 2014 · letzter Beitrag vom 24. Mai 2014
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#1

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 11. Mai 2014, 16:02
Hallo Frank
Habe beim Form2.Image2.Canvas.. überall auf Form2.Image2.Picture.Bitmap.Canvas... geändert.
Nun das Bild flackert nur jetzt .
Muss ich noch mit Flags sichern das es nur einmal durchläuft?
Gruss Anton
Anton Kurka
  Mit Zitat antworten Zitat
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#2

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 12. Mai 2014, 06:54
Hallo mitenand
Jetzt lauft richtig.

Es hat nur einmal die Zeile mit
"Application.ProcessMessages" am richtigen Ort gebraucht.

Vielen Dank an Alle.
Gruss Anton.
Anton Kurka

Geändert von akurka (12. Mai 2014 um 07:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#3

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 12. Mai 2014, 06:59
Hallo mitenand
Jetzt lauft richtig.

Es hat nur einmal die Zeile mit
"Application.ProcessMessages" am richtigen Ort gebraucht.

Es darf wirklich nur einmal pro Formular eingefügt werden, sonst
verschwindet das Menue.

Vielen Dank an Alle.
Gruss Anton.
Anton Kurka

Geändert von akurka (12. Mai 2014 um 07:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 12. Mai 2014, 09:30
Es hat nur einmal die Zeile mit
"Application.ProcessMessages" am richtigen Ort gebraucht.

Es darf wirklich nur einmal pro Formular eingefügt werden, sonst
verschwindet das Menue.
emmm NEIN... Application.ProcessMessages kannst Du fast ohne Ausnahme so oft wie Du willst einfügen.
Das darf nix ändern.
Ich Denke Du hast ein Design Problem, wie Du die Sachen Ausführst...

Jede Procedure die Du ausführst muss nach wenigen ms beendet sein, sonst bekommst Du das bekannt [Programm reagiert nicht mehr].
Wenn Du also eine Routine hast, die auf etwas (oder ein Ereignis) wartet, musst Du Application.ProcessMessages innerhalb der Schleife verwenden.

Alternativ kannst Du für zyklische Dinge auch einen Timer verwenden.

In der Regel ist aber für diese Dinge ein Thread angesagt. (VCL Aufrufe dann natürlich mit Syncronize)

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 12. Mai 2014, 09:59
Nein, bei ProgressMessages muß man dennoch aufpassen, denn es führt Messages (z.B. Timer oder irgendwelche Maus-/Tastenevents) sofort aus und der eigentliche Code wartet so lange, bis er alles Anstehende abgearbeitet wurde.
Und man kann das ProgressMessages bis ins unendliche verschachteln, wenn in einer der ausgeführten Events Dieses nochmal vorkommt ... dann kann es passieren, daß der ursprüngliche Code, nach dem ersten ProgressMessages, lange/ewig wartet, bis hoffentlich irgendwann mal alle Events verarbeitet wurden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 12. Mai 2014, 10:36
Aus dem Grund sollte man sich überall wo man Application.ProcessMessages verwendet auch noch ein { TODO : Should be done better } hinschreiben.

Als Workaround gesehen ist das erst mal ok, sollte aber beizeiten anders gelöst werden (Thread oder Event-gesteuert).
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (12. Mai 2014 um 10:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 12. Mai 2014, 11:30
(Thread oder Event-gesteuert).
Logisch...

Es sei den, die Aktion/das Fenster soll/muss Modal sein.

Geändert von Mavarik (12. Mai 2014 um 11:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 12. Mai 2014, 11:41
Das Schönste Problem, was mir öfters passiert ist, in Verbindung mit den Messages:
Beim Schließen einer Form soll eventuell eine Meldung angezeigt werden.

Also wurde nach/beim Schließen ein ShowMessage eingeblendet.
ShowMessage hängt sich aber an die ActiveForm und wenn die "Active" noch die gerade Schließende ist, dann beendet diese Form den Dialog,
sobald sie entgültig weg ist, womit der Dialog garnicht, bzw. nur für wenige Millisekunden sichtbar ist.

Oder im ProgressMessage werden Dinge schon gemacht, die eigentlich erst nach Ende der Funktion passieren sollen ... so kann man sich tolle Mehrfachufrufe erzeugen, oder etwas löscht sich selber unterm Arsch weg.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 12. Mai 2014, 11:42
Nachdem ich mir den Quellcode einmal angesehen habe, beschleicht mich der Verdacht, dass hier ein altes Konsolen-Programm 1:1 in eine GUI-Anwendung umgewandelt werden soll.

Dieser Screenshot bestärkt mich weiter in meinem Verdacht
OPTI-09_5.jpg

Mit ein paar simplen Application.ProcessMessages ist es da aber leider nicht getan.

Auch ist die RSCOM-Unit nicht wirklich dafür ausgelegt und sollte nur mit Vorsicht genossen werden oder entsprechend umgebaut werden.

Wenn wir mal den hierfür in Frage kommenden grundlegenden konzeptionellen Ansatz betrachten, so haben wir:
  1. die Kommunikation mit der CNC-Maschine (Daten-Sammler)
  2. die Anzeige der gesammelten Daten
Hierbei sollte A in einem eigenständigen Thread laufen und B einfach nur die Daten anzeigen und bei einer Änderung refreshen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: KeyPress unter Form2 funktioniert nicht.

  Alt 12. Mai 2014, 11:29
Nein, bei ProgressMessages muß man dennoch aufpassen,...
fast ohne Ausnahme
Mavarik
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

 
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 23:34 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-2025 by Thomas Breitkreuz