Вниз
Скачать: CL | DM;

не работает сообщение диалогового окна   Найти похожие ветки 

 
stainer   (2002-08-04 01:50) [0]

Всем привет!
Не пашет сообщение от диалога cdm_getfolderpath
sendmessage(hwnd,cdm_getfolderpath,sizeof(buffer),integer(@buffer))

Точнее переменная buffer не заполняется путём.
В чём дело???????
Спасибо!!!!


 
Suntechnic ©   (2002-08-04 09:21) [1]

А что такое buffer ты бы для приличия написал бы всё таки...
У меня сейчас никаких хелпов под рукой нет, но существует предположение, что третьим параметром в ф-цию должен передаваться размер буфера(так обычно вызываются API ф-ции), а также существует предположение, что результатом операции sizeof() над таинственным buffer-ом всегда будет 4(размер в байтах указателя), но в любом случае для прояснения картины надо знать что такое buffer...


 
stainer   (2002-08-04 13:39) [2]

buffer - это массив типа

buffer: array [0..max_path] of char;


 
Неотеничный Педоморф   (2002-08-04 14:01) [3]

А окно hwnd создано тем же процессом, в котором вызывается SendMessage?


 
stainer   (2002-08-04 19:26) [4]

да


 
Неотеничный Педоморф   (2002-08-04 19:48) [5]

Нужно посмотреть код.

Насколько я понимаю, hwnd -- хэндл диаложека Open/SaveAs, и вызов происходит в то время, когда этот диаложек отображается на экране.

Если так, попробуйте тот же приём с CDM_GETFILEPATH. Интересны результаты.




 
Неотеничный Педоморф   (2002-08-04 20:29) [6]

А так, например:

char *st = (char *)malloc(260);
OutputDebugString("Timer!");
st[0] = "*"; st[1] = 0;
if (IsWindow(OpenDialog1->Handle)) // TOpenDialog
{
SendMessage(GetParent(OpenDialog1->Handle),CDM_GETFOLDERPATH,259,(long)(&st[1])); // hwnd == Form1->Handle
OutputDebugString(st);
SendMessage(GetParent(OpenDialog1->Handle),CDM_GETFILEPATH,259,(long)(&st[1]));
OutputDebugString(st);
} else
{
OutputDebugString("no dialog");
};
free(st);


 
stainer   (2002-08-04 22:26) [7]

Точнее я немного неправильно сказал
Когда открывается диалог из моей формы то всё нормально (путь возвращается), а для другого диалога, открытого не из моей рограммы переменная, содержащая путь пуста


 
Слесарь Матерящийся   (2002-08-04 23:42) [8]

Ну, тогда всё правильно! Так и должно быть.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
7-73905
Sergey_
2002-07-15 13:59
2002.09.23
Здравствуйте. Как можно программно выключить компьютер.


14-73849
Tiger
2002-08-26 23:52
2002.09.23
Запись CD


4-73929
Scaut
2002-06-21 17:24
2002.09.23
По поводу получения handle


14-73831
RV
2002-08-24 14:29
2002.09.23
Вот и прикинте...


4-73944
eruc
2002-06-28 18:38
2002.09.23
Поддержка Unicode ...




   Наверх