Re: Как передать массив в сообщении?
От: Аноним  
Дата: 18.05.07 06:45
Оценка:
DK_>Есть такая необходимость, отправить окну сообщение:
DK_>::SendMessage(hwnd, wPar, lPar)
DK_>и например, в wPar передать массив int[128]

DK_>afx_msg LPARAM CPROFLEXDlg::OnDeviceMessage(WPARAM wParam, LPARAM lParam)

DK_>{

DK_>// здесь, если это возможно, надо из wPar выковырнуть этот массив

DK_>return 0;
DK_>}

Ты похоже не очень понимаешь что есть массив... Это есть некая область памяти, на которую всегда можно сослаться по указателю. Вот теперь и подумай: что тебе мешает передать в качестве wParam указатель на начало этой области памяти (т.е. на начало массива)?

Примерно так:

int a [128] = {0};
...
SendMessage (hWnd, (WPARAM) a, lParam);


потом так:

afx_msg LPARAM CPROFLEXDlg::OnDeviceMessage(WPARAM wParam, LPARAM lParam)
{
  int* pArray = (int*) wParam;
  ...
  return 0;
}


DK_>Заранее всех благодарю!


Заранее, это чтобы потом не писать благодарности на каждый ответ? Лодырь ты, однако
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.