Erazer
![](http://forum.ru-board.com/board/avatars/Barney.gif)
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Frodo_Torbins Цитата: Некоторые из папок, к которым можно получить доступ с помощью SHGetSpecialFolderPath создаются по первому запросу. | Так это ж некоторые а мы говорим о конкретной.. Добавлено: delover Цитата: Есть ещё такая фунция - GetEnvironmentVariable('TEMP') | Спасиб! Расчудесная функция, она как раз вернула мне путь к ПОЛЬЗОВАтельскому каталогу временных файлов, в отличии от всех остальных дававших путь к системному каталогу. НО, почему то помещенная в OnCreate она тоже возвращает пустую строку,а вот в OnShow прекрасно дает что положено. Кто нибудь может объяснить почему так ? Я вот только что подумал, может и другие функции точно так же возвращают пути, просто я вызывал их всегда в OnCreate и поэтому они давали пустую строку ? Но проверять сегодня уже просто нет сил. Добавлено: Теперь у меня другая проблема, 1 чел наваял сию функцию function RegGetExpandString(RootKey: HKEY; Name: String; Var Value: String): boolean; var Buf: Pointer; BufSize: Cardinal; begin Result := False; Value := ''; if RegGetValue(RootKey, Name, REG_EXPAND_SZ, Buf, BufSize) then begin Dec(BufSize); SetLength(Value, BufSize); if BufSize > 0 then Move(Buf^, Value[1], BufSize); FreeMem(Buf); Result := True; end; end; И она чудненько работает под 2007, а в 2009, возвращает что надо,+ кучу мусора Может у кого из пристутствующих хватит ума и желания подрихтовать ее чтобы она нормально взаимодействовала и с юникодным string, т.к. мне кажется вся проблема в нем... А то сам я не в силах пока - "многабукаф" ![](http://forum.ru-board.com/board/s/smile.gif) |