Показать сообщение отдельно
  #9  
Старый 05.12.2010, 00:42
UFO 007 UFO 007 вне форума
Новичок
 
Регистрация: 28.11.2010
Сообщения: 54
Репутация: 10
Вопрос

Цитата:
Сообщение от v1s2222
Ты должен передать полный путь к нужному файлу а не 1 символ. Вот нужная тебе функция:
Большое тебе человеческое Зер Гроссе Данке Щён, мил человек - заработало, но... Своей цели я всё-таки не добился, а трабла в следующем:
Код:
procedure TForm1.PlayAllClick(Sender: TObject);
var
s, exe: string;
begin
  s:=ExtractFilePath(Application.ExeName);
  exe:=s + 'winamp\winamp.exe';
  tmp:= artist+ ArtistBox1.Items[ArtistBox1.ItemIndex] + '\';
  s:=s + tmp +  'all.m3u';
  If FileExists (tmp + 'all.m3u') Then
  CreateProcessSimple (exe, s)
  //WinShellExecute ('', tmp + 'all.m3u')
  else showmessage ('Архивариус не может открыть файл: '+tmp + 'all.m3u');
  memo2.Lines.Add(s);
end;
Admin: Пользуемся тегами для оформления кода!

в CreateProcessSimple - изменения: в декларации ..., s:...и в теле:
... CreateProcess(PChar( sExecutableFilePath ), // путь к исполняемому файлу:
PChar(s), nil, nil, False,NORMAL_PRIORITY_CLASS, nil, nil,si, pi);....
к сожалению s одинаково коряво передаёт винампу путь к плэйлисту как WinExec-у и ShellExecut-у, так и в данном случае. Так что спасибо за помощь, но воз и ныне там - придётся изобретать другой лисапед.
P.S. А случаем ни у кого нет познаний пообширней вэтом направлении?
Ответить с цитированием