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

Корявая GetOpenFileName   Найти похожие ветки 

← →
Alexiy   (2004-07-12 14:53) [0]

Посмотрел чень много форумов, где обсуждалась эта тема. Но ответ не найден. Эта функция возвращает false. И диалога конечно, не появляется.
Одни говорят, что в 98 диалог будет, а в ХР - нет. Другие - что надо инициализировать переменную lpstrFile даже был вариант, сделать так:
ofn.lpstrFile:=VirtualAlloc(0, 255, MEM_COMMIT, PAGE_READWRITE);

Если кто-то располагает РАБОЧИМ кодом, поделитесь, плз..


← →
clickmaker ©   (2004-07-12 14:58) [1]


> Alexiy   (12.07.04 14:53)  

поделись своим кодом лучше


← →
Alexiy   (2004-07-12 15:20) [2]

так и знал. Вот:

{ isFile: array[0..max_path] of char; - это в var есс-но }
ZeroMemory(@ofn, sizeof(OPENFILENAME));
ofn.lStructSize:=sizeof(OPENFILENAME);
ofn.hWndOwner:=GetActiveWindow();
ofn.hInstance:=0;
ofn.lpstrFile:=isFile;//VirtualAlloc(0, 255, MEM_COMMIT, PAGE_READWRITE);
ofn.nMaxFile:=200;
ofn.lpstrTitle:="Choose file...";
ofn.lpstrFilter:="PE format"+#0+"*.exe"+#0+"All file types"#0+"*.*"+#0#0;
ofn.nFilterIndex:=1;
ofn.lpstrFileTitle:=0;
ofn.lpstrInitialDir:="c:\";
ofn.nMaxFileTitle:=255;
ofn.Flags:=OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY;
GetOpenFileName(ofn);

На выходе - пустая ofn.lpstrFile
Да даже если по шаблону МСДН скопировать - нет результата


← →
Alexiy   (2004-07-12 15:59) [3]

Код ошибки: $0001 =
CDERR_STRUCTSIZE - Элемент lStructSize структуры инициализации для соответствующего стандартного диалогового окна недопустим.

???


← →
Alexiy   (2004-07-12 16:24) [4]

Всё, сделал. lStructSize:=$4C;
Удалите эту тему плз...


← →
clickmaker ©   (2004-07-12 17:55) [5]


> Alexiy   (12.07.04 15:59) [3]

Хм... Всю жизнь это работало
ofn.lStructSize:=sizeof(OPENFILENAME);


← →
Alexiy   (2004-07-13 15:37) [6]

Низкоуровневая отладка рулит!



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

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



Память: 0.46 MB
Время: 0.022 c
1-1091623105
cvg
2004-08-04 16:38
2004.08.22
Длина массива записей -- как???


1-1091910730
NeVIP.
2004-08-08 00:32
2004.08.22
Номер элемента множества


11-1079045177
VoX
2004-03-12 01:46
2004.08.22
Баг в StrScan


3-1091433008
Last
2004-08-02 11:50
2004.08.22
Проверка вводимого значения в DBGrid


1-1091612532
П7
2004-08-04 13:42
2004.08.22
Изменение TTreeNode




   Наверх