kav |
опубликован 02-04-2001 12:18 MSK
Тип Plant определён в Struct.h /*Struct.h ... typedef { .. char *name; ... } Plant; ... Первый класс: // TerminalDlg.h #include "Sem_Msg.h" ... class CTerminalDlg : public CDialog {.... public: Plant *pPlant[MAX_NUMB_PLANT]; .... BOOL CTerminalDlg::GetSemMsg(char cmd, int len); /* она вызывает Sem_Msg.DecodeMsg() BOOL CTerminalDlg::OnTerminalCommand() ; /* она вызывает GetSemMsg()}/*конец TerminalDlg.h -------------------------------------------------------------- Второй класс: // Sem_Msg.h class CSem_Msg : public CObject {..... public: int DefCfgSem(); /*одна из функций (здесь проблема) int DecodeMsg(byte *ptrscr, float *ptrdst, int len, char cmd); /*она вызывает DefCfgSem() ..... } /* конец Sem_Msg.h -------------------------------------------------------------- файл реализации: // TerminalDlg.cpp .... /*программа на кнопке BOOL CTerminalDlg::OnTerminalCommand() { ... Init(); /* инициализация pPlant[...] .... if (! GetSemMsg('R', LEN_R)) .... } ..... BOOL CTerminalDlg::GetSemMsg(char cmd, int len) /* реализация GetSemMsg(...) { ..... switch (Sem_Msg.DecodeMsg (ptrscr, ptrdst, len-1, cmd)) ..... } ....... }/*конец GetSemMsg -------------------------------------------------------------- файл реализации: // CSem_Msg.cpp ...... int CSem_Msg::DecodeMsg( byte *ptrscr, float *ptrdst, int len, char cmd) { ..... i = DefCfgSem(); ..... }/*конец DecodeMsg .... /* Реализация функции DefCfgSem() int CSem_Msg::DefCfgSem() { ..... fprintf (stream_cfg, "Предприятие: %s ", pPlant[cur_plant]->name); /*здесь надо получить pPlant[...] .... }/*конец DefCfgSem ...... .../*Конец CSem_Msg.cpp -------------------------------------------------------------- Вопрос такой. Как передать, проинициированный функцией OnTerminalCommand() класса CTerminalDlg, массив указателей в функцию DefCfgSem() класса CSem_Msg ?
|