Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: 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 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
1-1092106071
Марат
2004-08-10 06:47
2004.08.22
Перенос label


1-1091810693
Lamak
2004-08-06 20:44
2004.08.22
Про RichEdit


3-1090879863
bigfoot
2004-07-27 02:11
2004.08.22
Выборка по дате


1-1092128465
Koster
2004-08-10 13:01
2004.08.22
в Hint для TStringGrid надо показывать непомещающийся текст


3-1090929813
Vlad Oshin
2004-07-27 16:03
2004.08.22
Работа без установки BDE