Fehler beim ausführen des Timers



  • Hi Leute!

    Ich glaube zwar nicht dass der Fehler am Timer liegt aber könnte mal bitte einer von euch sich meinen Code angucken.

    #include "stdafx.h"
    #include "dynaplot.h"
    #include "dynaplotDlg.h"
    
    #include "Chartdisp.h"		
    #include "Backgrounddisp.h"		
    #include "Borderdisp.h"		
    #include "DynaPlotDefines.h" 
    #include "datacurvedisp.h"
    #include "datacurvecollectiondisp.h"
    #include "curvedisp.h"
    #include <ctime>
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    
    double X[1001];
    double Y[1001];
    int N=0;
    int a=0;
    int i=0,B=0;
    double dummy;
    
    SetTimer(1,2,NULL);                  //in void CDynaplotDlg::OnButton1()
    
    void CDynaplotDlg::OnTimer(UINT nIDEvent) 
    {
    	// TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen und/oder Standard aufrufen
    	if(nIDEvent == 1)
    		{
    		for(a=0;a<=B;a++)
    		{
    			X[a]=rand();
    			X[a]=(X[a]*14)-7;
    			Y[a]=rand()*20-10;
    		}
    	for (a=0; a<=B; a++)
    	{ 
    		for (i=0; i<=B;i++)
    		{ 
    			if (X[i]>X[i+1])
    			{ 
    				dummy=X[i];
    				X[i]=X[i+1];
    				X[i+1]=dummy;
    				dummy=Y[i];
    				Y[i]=Y[i+1];
    				Y[i+1]=dummy;
          } 
    			else
    			{
    			}
        } 
      } 
    	CDataCurveDisp pK;
    	COleVariant Variant1(0L);
    	pK = m_DynaPlot1.GetDataCurves().Item (Variant1);
    	pK.GetCurve().UpdateData(100,X,Y);
    	B++;
    	}
    	CDialog::OnTimer(nIDEvent);
    }
    


  • Was ist den die Fehlermeldung ?



  • SetTimer(1,2,NULL);

    Ein Timer, der alle 2 Millisekunden auslöst?

    Das wird schwierig, Windows hat auch noch andere Sachen zu tun.


Anmelden zum Antworten