Re[2]: использование структуры
От: qdrj  
Дата: 18.01.10 08:17
Оценка:
Здравствуйте, TheThief, Вы писали:

TT>Здравствуйте, qdrj, Вы писали:


Q>>Где и как следует объявить эту структуру, для того чтобы она была доступна из обоих функций?


TT>Если я правильно понял вопрос, то вам нужно просто написать



TT>
TT>#include "Windows.h"
TT>


TT>в stdafx.h


Наверное я плохо описал проблему. В button2_MouseClick нужна структура rdxStatus, но SERVICE_STATUS_PROCESS rdxStatus это локальная переменная для ф-ии Form1_Load(ее поля заполняются именно в Form1_Load), поэтому в button2_MouseClick она не доступна. Мне нужно объявить ее так, чтобы она была доступна в всех ф-х класса Form1.

public ref class Form1 : public System::Windows::Forms::Form {
    public: 
        Form1(void) { InitializeComponent(); }        


    protected: 
        ~Form1() { if (components) { delete components; } }
    private: System::Windows::Forms::Button^  button1;
    private: System::Windows::Forms::Button^  button2;
    private: System::Windows::Forms::Label^  label1;
    private: System::Windows::Forms::TextBox^  textBox1;

    private: System::Windows::Forms::Label^  label2;
    private: System::Windows::Forms::TextBox^  textBox2;

    protected: 

    private:
    System::ComponentModel::Container ^components;

    ...
    
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {}
    private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {}
    private: System::Void label1_Click(System::Object^  sender, System::EventArgs^  e) {}
    private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {            
        ...
    }
    private: System::Void button2_MouseClick(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {
    ...
    }
};


если попробовать объявить ее так:
public: SERVICE_STATUS_PROCESS rdxStatus;

то компилятор выдает:
error C4368: cannot define 'rdxStatus' as a member of managed 'RDX_GUI::Form1': mixed types are not supported
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.