Идёт загрузка страницы...

htp://aptem.net.ru





Delphi 1

Компонент OpenDialog - ошибки и их исправление

При использовании в Delphi диалогового окна Opendialog (с Multiselect=true) и выборе более одного файла из корневой директории, возвращаемые значения содержат две косые черты вместо одной. Для примера:

c:\\autoexec.bat
c:\\config.sys

Если я выбираю из корневой директории один файл или использую любую другую директорию, этого не происходит. Кто-нибудь сталкивался с подобным глюком?

Если вы хотите это исправить (и имеете исходный код VCL), найдите строчку 1128 в DIALOGS.PAS. Она выглядит так:


   
FFiles.Add(DirPart+'\'+FilePart);

Измените это на:


   
FFiles.Add(AddBkSlash(DirPart)+FilePart);

и затем создайте локальную функцию, добавляющую при необходимости обратный слэш:


   
function AddBkSlash(const S:String):string;
begin
Result := S;
if S[Length(S)] <> '\' then Result := Result+'\';
end;

Pat [000471]