Hi!
Bei mir tritt beim programmieren öfter das Problem auf dass, mein Programm so mit rechnen beschäftigt ist das es auf keine Ereignisse(z.B. OnClick) reagiert, bzw Captions werden nicht "pünktlich" aktualisiert...
Um das ganze zu verdeutlichen habe ich ein programm geschrieben welche zunächst eine ListBox erzeugt, klickt man dann auf den Button so wird von 0 bis 1000 in 0,1er schritten hochgezählt und immer der Sinus errechnet wird, dies soll zur überlastung dienen...
Hiermal der Code(Compiler = Borland)
Alles anzeigen
Während der Überlastung ist es nun nichtmehr möglich in der ListBox zu scrollen(dass soll als Beispiel dienen)
Nun meine Frage:
Was für möglichkeiten gibt es so etwas zu verhindern?
Gibt es eine Funktion die einfach zwischendurch mal überprüft ob Ereignisse stattgefunden haben und die entsprechenden Funktionen aufruft??
Schonmal vielen Dank!!
MfG Straightflush
Bei mir tritt beim programmieren öfter das Problem auf dass, mein Programm so mit rechnen beschäftigt ist das es auf keine Ereignisse(z.B. OnClick) reagiert, bzw Captions werden nicht "pünktlich" aktualisiert...
Um das ganze zu verdeutlichen habe ich ein programm geschrieben welche zunächst eine ListBox erzeugt, klickt man dann auf den Button so wird von 0 bis 1000 in 0,1er schritten hochgezählt und immer der Sinus errechnet wird, dies soll zur überlastung dienen...
Hiermal der Code(Compiler = Borland)
Quellcode
- #include <vcl.h>
- #pragma hdrstop
- #include <math.h>
- #include "Unit1.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma resource "*.dfm"
- TForm1 *Form1;
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button1Click(TObject *Sender)
- {
- for(int i=0; i < 1000; i=i+0.1)
- Label1->Caption = sin(i);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- for(int i=0; i < 200; i++)
- ListBox1->Items->Add(i);
- }
- //---------------------------------------------------------------------------
Während der Überlastung ist es nun nichtmehr möglich in der ListBox zu scrollen(dass soll als Beispiel dienen)
Nun meine Frage:
Was für möglichkeiten gibt es so etwas zu verhindern?
Gibt es eine Funktion die einfach zwischendurch mal überprüft ob Ereignisse stattgefunden haben und die entsprechenden Funktionen aufruft??
Schonmal vielen Dank!!
MfG Straightflush