Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

Глючит открытие файлов способом ShellExecute   Найти похожие ветки 

 
DreymanD   (2004-07-30 20:45) [0]

Привет всем мастерам!
У меня глючит команда ShellExecute. У меня на форме есть ComboBox1, через OpenDialog добавляю файл в его Items. Затем нажимаю на Button. После этого файл, который находится в КомбоБоксе должен открытся. Но у меня он не открывается! Открывается только папка! Что делать? Для "Буттон" я использовал команду:
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
shellexecute(combobox1.handle, "open", pchar(extractfilepath(combobox1.items.Strings[combobox1.ItemIndex])+s),nil,nil, sw_minimize);
end;

Что в ней не так?


 
olookin ©   (2004-07-30 20:54) [1]

Мне кажется, что надо

shellexecute(combobox1.handle, "open", pchar(extractfilepath(combobox1.items.Strings[combobox1.ItemIndex])+"\"+s),nil,nil, sw_minimize);


 
Юрий Зотов ©   (2004-07-30 20:59) [2]

Ну, Вы же сами себе уже ответили: "Глючит открытие файлов способом ShellExecute в D7 под WinME".

А если все же признать, что глючит вовсе не оно, то неверно combobox1.handle и пустая строка s.


 
olookin ©   (2004-07-30 21:05) [3]

Юрий Зотов ©   (30.07.04 20:59) [2]

Насчет хэндла комбобокса не придратся... А вот насчет отсутствия слэша можно - особенно если s - это просто имя файла


 
Юрий Зотов ©   (2004-07-30 22:16) [4]

> olookin ©   (30.07.04 21:05) [3]

Слэш - это само собой. Только еще неплохо было бы и хоть что-нибудь в S запихнуть. Потому как файл c пустым именем вряд ли откроется.


 
DreymanD   (2004-07-30 22:30) [5]

olookin ©   (30.07.04 20:54) [1]
Неа, все равно открывает папку... Х-D)...

Юрий Зотов ©   (30.07.04 20:59) [2]
Да можно и без S:string;
Просто мне надо, чтоб файл, указанный в Комбо боксе открывался нажатием на Буттон :)


 
Алхимик ©   (2004-07-30 22:40) [6]

[5] DreymanD   (30.07.04 22:30)
pchar(combobox1.items.Strings[combobox1.ItemIndex])


 
olookin ©   (2004-07-30 22:45) [7]

Значит не заполнен у тебя комбобокс... Или неправильно заполнен... Ты пропобуй сначала проверить работу:

shellexecute(combobox1.handle, "open", "C:\1.txt",nil,nil, sw_minimize);

Если не работает при таком варианте - значит что то не работает до вызова ShellExecute или у тебя вообще какой нибудь редхат 9.0


 
tamroF   (2004-07-30 23:19) [8]

в сомбе текущий item был "c:\01.bmp"

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
ShellExecute(ComboBox1.handle, "open", pchar(ComboBox1.Text),pchar(ExtractFilePath(ComboBox1.Text)),nil, sw_show);
end;

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
ShellExecute(ComboBox1.handle, "open", pchar(ComboBox1.Text),pchar(ExtractFilePath(ComboBox1.Text)),nil, sw_show);
end;


работает..


 
DreymanD   (2004-07-31 19:50) [9]

tamroF   (30.07.04 23:19) [8]
Оооо.. спасибо! Теперь все отлично работает :)))
В любом случае, спасибо всем!!! ;-D



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.026 c
1-1091295268
TopT
2004-07-31 21:34
2004.08.15
TListView и Checkboxes:=true


3-1090509405
negrila
2004-07-22 19:16
2004.08.15
Firebird users


6-1087301720
Chery
2004-06-15 16:15
2004.08.15
Как подконектиться с внешней сети к серверу приложений (Сокет)


6-1086965732
Ded Moroz
2004-06-11 18:55
2004.08.15
Траффик


4-1089113470
Steve
2004-07-06 15:31
2004.08.15
Как запустить exe шник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский