Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/131: Рейтинг темы: голосов - 131, средняя оценка - 4.69
 Аватар для Fe_DoS
1 / 1 / 0
Регистрация: 12.12.2008
Сообщений: 29

Не работает SelectDirectory

16.07.2009, 19:00. Показов 24679. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Не работает функция SelectDirectory.

C++
1
2
3
4
5
6
#include <FileCtrl.hpp>
AnsiString Dir;
if(SelectDirectory("Выберите папку","",Dir))
{
  Edit->Text=Dir;
}
При компиляции выскакивает ошибка:
[BCC32 Error] Umain.cpp(139): E2285 Could not find a match for 'SelectDirectory(const char *,const char *,AnsiString)'
Пишу в Code Gear RAD Studio 2009.
В чём может быть проблемма?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.07.2009, 19:00
Ответы с готовыми решениями:

SelectDirectory Отмена
SelectDirectory('Выберите каталог для поиска файлов','\',Path,); Path это уже указанный путь, что бы открыть в нужном месте Проблема в...

Функция SelectDirectory
var Directory: WideString; begin if SelectDirectory('Укажите каталог БД:', 'D:\',Directory) then begin Table1.DatabaseName :=...

SelectDirectory(вопрос)
У меня вопрос по функции SelectDirectory. Как с ее помощью открыть папку с файлами и их поместить в ListBox if (...

30
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
30.09.2010, 18:40
Студворк — интернет-сервис помощи студентам
Из поста 14 я так понял, что в зависимости от макроса (правда я так и не понял, при чём тут _DELPHI...) тип String настроится как typedef одного или второго. В моём понимании было так, что всюду пишешь String, а потому одни макросом управляешь, будет юникодная программа или в виндовой кодировке. Собственно, весь интерес мой был вокруг этого момента

Оказывается, что сие зависит не от макроса, а от версии компилятора. Т.е. если мы пишем AnsiString, то на всех версиях компилятора получим программу в виндовой кодировке, если пишем UnicodeString, то на всех версиях получим программу в юникоде, а вот если напишем String, то результат будет зависеть от того, на каком компиляторе мы скомпилим.

Так что ли?
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
30.09.2010, 18:53
Цитата Сообщение от Evg Посмотреть сообщение
Оказывается, что сие зависит не от макроса, а от версии компилятора. Т.е. если мы пишем AnsiString, то на всех версиях компилятора получим программу в виндовой кодировке, если пишем UnicodeString, то на всех версиях получим программу в юникоде, а вот если напишем String, то результат будет зависеть от того, на каком компиляторе мы скомпилим.
Так что ли?
Да, так. За исключением того момента, что UnicodeString присутствует не во всех версиях. Данный тип ввели с 2009-ой версии (возможно, он будет поставлен и в апдейтах для предыдущих версий)
Цитата Сообщение от Evg Посмотреть сообщение
(правда я так и не понял, при чём тут _DELPHI...)
Изначальная родина VCL - Delphi.
Чтобы не писать одно и то же для двух языков было принято решение развивать VCL в Delphi и вытягивать необходимые функции при использовании С++ Builder.

Именно поэтому, во многих заголовочных файлах можно увидеть следующее:
C++
1
2
3
4
5
6
#define DELPHICLASS          __declspec(delphiclass, package)   // Implemented in Delphi (C++ does not generate RTTI)
class DELPHICLASS TIdTCPServer;
class PASCALIMPLEMENTATION TIdTCPServer : public Idcustomtcpserver::TIdCustomTCPServer
{
  // ...
}
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
30.09.2010, 20:08
Цитата Сообщение от MikeSoft Посмотреть сообщение
UnicodeString присутствует не во всех версиях. Данный тип ввели с 2009-ой версии
Ах вот оно в чём дело. Тогда более-менее стало понятно понятно
0
 Аватар для DrSMERTb
64 / 40 / 10
Регистрация: 12.11.2010
Сообщений: 841
08.12.2011, 19:56
Так что сделать то нужно, чтобы в 2009 всё работало?
0
68 / 68 / 9
Регистрация: 10.02.2011
Сообщений: 131
08.12.2011, 20:54
Цитата Сообщение от DrSMERTb Посмотреть сообщение
Так что сделать то нужно, чтобы в 2009 всё работало?
У меня 2007-й, сегодня тоже столкнулся с проблемой.
Линковщик выдавал Unresolved External, я просто закинул на форму TDirectoryListBox поставил свойство Visible = false , после этого всё откомпилилось.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
09.12.2011, 09:39
отокомпилилось потому, что при закидывании был включен соотвествующий заголовочный файл, который можно было включить без закидывания
0
68 / 68 / 9
Регистрация: 10.02.2011
Сообщений: 131
09.12.2011, 12:01
Цитата Сообщение от LK Посмотреть сообщение
отокомпилилось потому, что при закидывании был включен соотвествующий заголовочный файл, который можно было включить без закидывания
C++
1
#include "FileCtrl.hpp"
было прописано

Добавлено через 2 минуты
Когда компилил с галочками Use Dynamic RTL и Build With Runtime Packages, то всё нормально компилилось.
Но когда убрал эти галки, чтоб сделать релиз, то выбивало ошибку линковки.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
09.12.2011, 12:44
- я с подобным уже сталкивался: нужно в файле *.bpr в строках <LIBRARIES value= и <SPARELIBS value= добавить vclx50.lib (ну, или ..60, - у меня Билдер пятой версии)
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
29.08.2012, 15:25
Я не много запутался, а как сделать совместимость сразу на Builder 6 и Rad XE?
0
DarkDruiD
22.05.2013, 14:08
Все разобрался
вот так у меня работает
C++
1
2
3
4
5
  
 TSelectDirOpts Options1 ;
 System::UnicodeString way = "C:\\" ;
 SelectDirectory(way,Options1 , NULL);
 Edit8->Text = way;
Redoc
07.12.2013, 09:32
C++ builder 2010 пример из хелпа
C++
1
2
3
4
5
6
7
8
9
#include "FileCtrl.hpp"
 
const SELDIRHELP = 1000;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  String Dir = "C:\\Program Files\\CodeGear";
  if (SelectDirectory(Dir, TSelectDirOpts() << sdAllowCreate << sdPerformCreate << sdPrompt,SELDIRHELP))
    Label1->Caption = Dir;
}
прошу прощения за никро пост но может кому понадобится
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2013, 09:32

Could not find a match for SelectDirectory
Появился такой косяк: в коде в функции Select Directory компилятор находит ошибку, в чём ошибка - не знаю. Подскажите что изменить надо для...

SelectDirectory в RAD Studio XE4
Взял код из хелпа void __fastcall TOptions::SpeedButton1Click(TObject *Sender) { AnsiString Dir = &quot;C:\\Program Files&quot;; const...

SelectDirectory - Увеличивает диалоговое окно
Вызываю вот так if SelectDirectory('Выбор папки', '', Dir) then и с каждым вызовом окно смещается и увеличивается, на скрине видно. Это...

SelectDirectory сохранение пути к файлам
Доброго времени суток, форумчани ! Возникла пробелема с функцией SelectDirectory, реализовал я выбор католага с последующим добавлемением...

Ошибка: Unresolved external '__fastcall Vcl::Filectrl::SelectDirectory
Код: //--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru