Так что я играю / внедряю с окнами через c книги примеры, и есть кое-что в части внедрения dll, которая поражает меня, и я не могу решить это.
Я создал диалог, который принадлежит другому потоку / процессу, и я пытаюсь отправить ему переменную TCHAR, чтобы он мог затем использовать эту переменную в некоторой функции (и функция, и tchar находятся в одном файле DLL)
Поэтому, когда диалог создается и хорошо сидит в другой ветке, я отправляю ему сообщение.
Сначала я объявляю tchar
TCHAR finalpath[MAX_PATH];
Тогда позже я просто заполняю его информацией (я делаю это в потоке dll, а не в потоке диалога, позвольте мне также упомянуть, что я должен сделать это в потоке dll, потому что это единственный способ заполнить требуемый tchar (i требуется получить рабочий каталог dll и заполнить его в tchar))
Итак, когда я получаю эту информацию в моем tchar, я пытаюсь отправить сообщение в диалог и использовать tchar в качестве LPARAM (wparam is hwnd btw)
SendMessage(hWndDIPS, WM_APP, (WPARAM) lista, (LPARAM)finalpath);
После этого я делаю основную школьную работу в другом цикле процедуры диалога потоков ...
INT_PTR WINAPI Dlg_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
switch (uMsg) {
chHANDLE_DLGMSG(hWnd, WM_CLOSE, Dlg_OnClose);
case WM_APP:
SaveListViewItemPositions((HWND) wParam, (TCHAR)lParam);
break;
}
return(FALSE);
}
Функция, которая должна принимать параметр (эта функция находится в разделяемой dll и вызывается процедурой, как вы видите выше, определяется следующим образом.
void SaveListViewItemPositions (HWND hWndLV, TCHAR sejv []) {
...}
Ошибка компилятора, которую я получаю, это
Error 7 error C2664: 'SaveListViewItemPositions' : cannot convert parameter 2 from 'TCHAR' to 'TCHAR []'
Так что я понятия не имею, почему это происходит. Если tchar - это массив, тогда мне нужно использовать его в параметрах с добавленным [], так как это то, как массивы используются в параметрах (не говоря уже о том, что если я этого не сделаю, это даст мне больше ошибок, и я все равно не смогу использовать параметр в функции)
Так почему же тогда он не конвертирует?
Если есть другое решение для создания этого диалога для получения переменной tchar, пожалуйста, объясните.
Спасибо