Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Sperren von Komponenten (https://www.delphipraxis.net/86524-sperren-von-komponenten.html)

DelphiManiac 15. Feb 2007 10:37


Sperren von Komponenten
 
Hallo,

ich habe folgendes Problem:

Ich besitzte eine Anwendung die mit einem Gerät kommuniziert,
in der Anwendung habe ich einen Button, der eine Prozedur aufruft, die wiederum holt mehrere Datensätze aus dem Gerät,
das kann schonmal 1 min dauern, währen dessen soll der Zugriff auf alle Steuerelemente disabled werden.

In der Prozedur, die natürlich sehr lange dauert, rufe ich immmer mal wieder Application.ProcessMessages auf,
das bewirkt ja, dass die Windowsnachrichten abgearbeitet werden.

Wenn ich aber einen Button-Klick, beispielsweise änderen eines Parameter zulasse, während dem er Datesätze holt, dann knallts natürlich...

Ich würde gerne die ganze Form sperren, jedoch aktualisieren muss sie sich noch...

Vielleicht könnt ihr mir ja dort weiterhelfen..

Gruß
und Dank
DelphiManiac

mkinzler 15. Feb 2007 10:43

Re: Sperren von Komponenten
 
Delphi-Quellcode:
Button.Enabled := False;

DelphiManiac 15. Feb 2007 10:48

Re: Sperren von Komponenten
 
Nicht ganz die Frage auf meine Antwort,

ich habe mehrere Buttons und Editfelder, die beim Klicken oder Verändern eine Prozedur ausführen.
Ich müsste alles mögliche by Hand sperren und wieder freigeben, das ist aber sehr aufwendig..

dominikkv 15. Feb 2007 11:08

Re: Sperren von Komponenten
 
Delphi-Quellcode:
Form1.Enabled := False
allerdings kannst du die Form auch nicht mehr verschieben

DelphiManiac 15. Feb 2007 11:12

Re: Sperren von Komponenten
 
Hi,

ja das wäre der Hammerschlag, allerdings nicht ganz so gut, da ich wohl auch einen Abbruch-Button erreichbar lassen muss.

mkinzler 15. Feb 2007 11:16

Re: Sperren von Komponenten
 
Dann gruppiere die entsprechenden Buttons doch auf einem Panel.

DelphiManiac 15. Feb 2007 11:21

Re: Sperren von Komponenten
 
Hi,

und dann das Panel sperren? Mmh, das wäre ne Idee.

DelphiManiac 16. Feb 2007 07:54

Re: Sperren von Komponenten
 
Hallo,

angenommen ich würde die ganze Form sperren, was natürlich nicht so toll wäre,
dann habe ich das Problem, dass mein
Delphi-Quellcode:
  Cursor:=crHourGlass;
verschwindet, liegt das daran, da das Form nicht mehr aktiv ist ?

IngoD7 16. Feb 2007 08:01

Re: Sperren von Komponenten
 
Zitat:

Zitat von DelphiManiac
Hallo,

angenommen ich würde die ganze Form sperren, was natürlich nicht so toll wäre,
dann habe ich das Problem, dass mein
Delphi-Quellcode:
  Cursor:=crHourGlass;
verschwindet, liegt das daran, da das Form nicht mehr aktiv ist ?

Wahrscheinlich, oder?

Aber wenn es eh nicht "so toll wäre", du einen funktionierenden Abbruch-Button brauchst und jetzt noch Mauszeiger ungewünschte Verhaltensweisen an den Tag legen, warum verwirfst du dann die Idee mit der Form nicht endgültig?

Was ist denn mit der Panel-Idee?

Grundsätzlich: Wenn diese einfachen Lösungen keine sind, weil sie alle noch irgendwelche Unschönheiten mitbringen (kann ich ja verstehen - ich find's auch nicht schön, wenn ein Button nicht selektierbar ist, obwohl er selektierbar aussieht), dann muss vielleicht eine etwas aufwändigere Lösung her. :cyclops:

Sharky 17. Feb 2007 07:53

Re: Sperren von Komponenten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hai DelphiManiac,

was hällst Du denn davon einfach eine Form modal anzuzeigen, dort den Code für die Datenverarbeitung laufen zu lassen und auf der Form einen "Abbruch-Button" zu haben.

Ich finde das sieht besser aus und ist für den Anwender intuitiver zu bedienen.

Ich hänge mal ein Demo an um zu zeigen was ich meine.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:59 Uhr.
Seite 1 von 2  1 2      

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