Вопрос № 24672: Здравствуйте эксперты!
Какое сообщение отправляет Windows процессам перед выключением компьютера?
Спасибо!...Вопрос № 24683: Здравствуйте, уважаемые эксперты. У меня вот появилась проблемка:
Есть класс ECube
, я определяю ECube MainCube;
,потом я в одной функции запускаю Zagon(&MainCube);
Zagon имеет такой вид:
void C3dsLoader::...Вопрос № 24694: Уважаемые эксперты можно ли передать массив из функции в основную функцию main() в программе на С. Как передавать в функцию массив -- через указатель, а вот как обратно получить? Если можно привести часть кода. Спасибо....
Вопрос № 24.672
Здравствуйте эксперты!
Какое сообщение отправляет Windows процессам перед выключением компьютера?
Спасибо!
Отправлен: 09.08.2005, 19:04
Вопрос задал: Azat (статус: 4-ый класс)
Всего ответов: 2 Мини-форум вопроса >>>
Отвечает: Ерёмин Андрей
Здравствуйте, Azat!
Windows отправляет сообщение WM_QUERYENDSESSION. Однако отправляется оно не только при выключении компьютера, но и при перезагрузке, а также выходе из системы.
--
С уважением,
Андрей.
--------- Если б не было бы глюка, жизнь была б такая скyка...
Ответ отправил: Ерёмин Андрей (статус: Студент)
Отправлен: 09.08.2005, 19:49 Оценка за ответ: 5
Отвечает: Rusland
Здравствуйте, Azat!
Процессам WM_QUERYENDSESSION, окнам WM_CLOSE. Удачи.
--------- Тише едешь, дальше будешь... от того места куда едешь
Ответ отправил: Rusland (статус: Студент)
Отправлен: 10.08.2005, 10:03 Оценка за ответ: 5
Вопрос № 24.683
Здравствуйте, уважаемые эксперты. У меня вот появилась проблемка:
Есть класс ECube
, я определяю ECube MainCube;
,потом я в одной функции запускаю Zagon(&MainCube);
Zagon имеет такой вид:
void C3dsLoader::Zagon(ECube *TCube)
{
*TCube.fc = 5
};
так вот, в функции Zagon оно генерит еррор на тему
left of '.fc' must have class/struct/union type
Подскажите, плиз, что я делаю не так, и покажите как надо делать
Отправлен: 09.08.2005, 21:54
Вопрос задал: ANDx (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>>
Отвечает: Raptor1
Здравствуйте, ANDx!
или так
void C3dsLoader::Zagon(ECube *TCube)
{
(*TCube).fc = 5
};
или так
Ответ отправил: Raptor1 (статус: 5-ый класс)
Отправлен: 10.08.2005, 00:00 Оценка за ответ: 5 Комментарий оценки: ОГРОМНЫЙ СЕНКС, глюк пропал!
Вопрос № 24.694
Уважаемые эксперты можно ли передать массив из функции в основную функцию main() в программе на С. Как передавать в функцию массив -- через указатель, а вот как обратно получить? Если можно привести часть кода. Спасибо.
Отвечает: Azat
Здравствуйте, Шаптала Максим!
Не знаю как передать массив из подпрограммы в main().
Но можно объявить массив в main и передать подпрограмме. Подпрограмма изменит массив...закончит работу. А в main будет измененный массив. См. приложение.
Удачи!
Приложение:
Ответ отправил: Azat (статус: 4-ый класс)
Отправлен: 10.08.2005, 11:43
Отвечает: Raptor1
Здравствуйте, Шаптала Максим!
Если ты передаешь в функцию массив через указатель то его не надо возвращать так как ты изменяешь элементы именно первоначального масива в не копии, но при желании можешь возвратить тоже через указатель.
DWORD dwData[10];
MakeNull(dwData,10);
void MakeNull(DWORD *pdwData,DWORD dwSize)
{
for(DWORD i=0;i<dwSize;i++)
pdwData[i]=0;
}
если же твоей функции может осуществляться к примеру перевыделение памяти под массив, то нужно использовать двойной указатель
можно так
DWORD pdwData=new DWORD[10];
MakeNull(pdwData,10);
Realloc(&pdwData,12);
void Realloc(DWORD **ppdwData, DWORD dwSize)
{
delete [] *ppdwData;
*ppdwData=new DWORD[dwSize];
}
или так
DWORD pdwData=new DWORD[10];
MakeNull(pdwData,10);
pdwData=Realloc(pdwData,12);
DWORD* Realloc(DWORD *pdwData, DWORD dwSize)
{
delete [] pdwData;
return new DWORD[dwSize];
}
Ответ отправил: Raptor1 (статус: 5-ый класс)
Отправлен: 10.08.2005, 23:39