Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Проблема с кавычками

Автор: Paylik 30.07.2007 14:11

Товарищи!!!!
У меня проблема. мне нужно чтобы пользователь выбрал деректорию
и далее в прогрмме нажатием клавиши SpeedButton открывалась эта деректория.

Код "деректории":

Var
h:String;
procedure TForm3.BitBtn1Click(Sender: TObject);
var
Root: string;
pwRoot : PWideChar;
Dir: string;
begin
Root := ''; // корневой
GetMem(pwRoot, (Length(Root)+1) * 2);
pwRoot := StringToWideChar(Root,pwRoot,MAX_PATH*2);
if not SelectDirectory('Выберите папку', pwRoot, Dir)
then Dir :=''
else Dir := Dir+'\';
H:=dir;
end;


Код SpeddButton:

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
ShellExecute(Handle, nil, 'H', nil, nil, SW_MAXIMIZE);
end;


Ошибка, наверно, в том, что по умолчанию в H уже есть кавычки, но процедура ShellExecute
требует чтобы я поставил ещё одни. Как быть?

М
Пользуемся тегом code!


Автор: arhimag 10.08.2007 3:55

Попробуй :

ShellExecute(Handle, nil, 'H:\', nil, nil, SW_MAXIMIZE);

Автор: volvo 10.08.2007 4:05

Не совсем... Надо просто преобразовать String в PChar:

  ShellExecute(Handle, nil, pchar(H), nil, nil, SW_MAXIMIZE);


Автор: arhimag 10.08.2007 10:56

Ай, черт, пардон.