I am getting multiple, confusing errors when building this school assignment and am hoping for some direction on what might be the problem. I wouldn't normally write it like this, but I put everything into one file as I try to debug this. Using Visual Studios Express 2012. I'm getting over 30 errors when I build, so I'm sure there is something fundamental that I am simply overlooking. Just a suggestion please, not looking for anyone to do my homework. Thanks

```
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#include "MessageDisplayClass.h"
#include "LogMessageClass.h"
#include "TimerEventArgs.h"

using namespace System;

ref class CustomTimerClass
{

private:
static bool stopFlag = false;

// create instance of TimerEventArgs
TimerEventArgs^ timerEvent;

public:
CustomTimerClass(void)
{
}
delegate void CustomTimerClass::TimerAlarmHandler(/*Object^ sender, TimerEventArgs^ args*/);
event CustomTimerClass::TimerAlarmHandler^ OnTimerAlarm;

property bool StopFlag
{
    bool get(void)
    {
        return stopFlag;
    }

    void set(bool b)
    {
        stopFlag = b;
    }
}

void run()
{
    Sleep(1000);
    raiseTimerAlarm();
}

void OnStart()
{
    // create instances of DisplayMessageClass and LogMessageClass classes
    DisplayMessageClass^ messageDisplayer = gcnew DisplayMessageClass(this);
    LogMessageClass^ messageLogger = gcnew LogMessageClass(this);

    // display and log messages concerning this event
    messageDisplayer->displayMessage(this, timerEvent);
    messageLogger->logMessage(this, timerEvent);
}

void raiseTimerAlarm()
{
    // create instance of TimerEventArgs and get time of instance creation
    timerEvent = gcnew TimerEventArgs();
    String^ eventTime = timerEvent->EventTime;

    // tie this instance of CustomTimerClass to OnTimerAlarm event and start event
    this->OnTimerAlarm += gcnew TimerAlarmHandler(this, &CustomTimerClass::OnStart);
    OnTimerAlarm();
}
};

ref class MainProgram
{
int main(array<System::String ^> ^args)
{
    CustomTimerClass^ timerClass = gcnew CustomTimerClass();
    DisplayMessageClass^ messageClass = gcnew DisplayMessageClass();
    LogMessageClass^ logerClass = gcnew LogMessageClass();
    timerClass->run();
    return 0;
}
};

```