FillChar(OpenFN, SizeOf(OpenFN), 0); szFile := ''; with OpenFN do begin HWNDOwner := MainForm; Flags := OFN_HIDEREADONLY or OFN_NOCHANGEDIR; lStructSize := SizeOf(OpenFN); lpstrFile := szFile; nMaxFile := sizeOf(szFile); case Save of 0: lpstrTitle := ' Îòêðûòü...'; 1: lpstrTitle := ' Ñîõðàíèòü...'; 2: lpstrTitle := ' Ñîõðàíèòü êàê...'; end; lpstrInitialDir := PChar(FolderPath); lpstrFilter := PChar('Ôàéëû *.' + Ext + #0'*.' + Ext + #0); lpstrDefExt := PChar(Ext); end; if Save = 0 then Result := GetOpenFileName(OpenFN) else Result := GetSaveFileName(OpenFN);
Может, нужен флаг, чтобы диалог, скажем, не лез в сеть?
P@sh@
12.03.2012 9:47
стандартный дельфовский TOpenDialog тоже вызывает GetOpenFileName, и ниче не тормозит обычно...
TarasBer
12.03.2012 11:20
Вот и я думаю, почему старый ВЦЛовский вариант работает быстрее, какой там флаг надо поставить? А то просто ужас, какие затупы.
IUnknown
12.03.2012 18:57
Что-то гонял-гонял GetOpenFileName из WinAPI (и на XP и на Семерке), никак не получается задержка в 5 секунд. Даже при нажатии на "My Computer", когда система должна определить иконку флоппи, которого у меня в помине нет, зависание отсутствует. И к сетевым ресурсам (при условии, что ни приложение ни открываемая папка не лежат в сетевых папках) нет обращения.
Были подобные жалобы при использовании Qt, но там другой случай, Дельфей это не касается никак.
TarasBer
13.03.2012 9:54
Это не может быть связано с тем, что у меня семёрка и "всего лишь" гиг оперативы?
IUnknown
14.03.2012 9:43
А вот это вполне возможно. 1 гиг - это минимальные требования для Win7, может с этим тормоза и связаны...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.