Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2009, 00:16   #1
san72
Форумчанин
 
Регистрация: 04.06.2008
Сообщений: 102
По умолчанию ShellExecute

почему ShellExecute нехочет открывать файлы, путь к каторым записан в переменной типа STRING ?

например ShellExecute(Hinstance, 'open', STR , nil, nil, SW_SHOWMAXIMIZED);

где в переменной STR путь к файлу или адрес сайта... он требует PANISHCHAR, но если переводить string в panishchar, тоесть PCHAR(STR) писать, то ничего не работает Есть какой-то выход?
Keep it simple, stupid
san72 вне форума Ответить с цитированием
Старый 16.05.2009, 00:38   #2
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

А в стринг точно нужные данные передаются?
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.

Последний раз редактировалось SunKnight; 16.05.2009 в 00:41.
SunKnight вне форума Ответить с цитированием
Старый 16.05.2009, 00:42   #3
san72
Форумчанин
 
Регистрация: 04.06.2008
Сообщений: 102
По умолчанию

да это сто процентов я выводил и в Edit и в Memo
Keep it simple, stupid
san72 вне форума Ответить с цитированием
Старый 16.05.2009, 00:50   #4
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Я проверил
Код:
var STR:string;
begin
 STR:='D:\main.bmp';
 ShellExecute(Hinstance, 'open', PChar(STR) , nil, nil, SW_SHOWMAXIMIZED);
end;
Все работает на ура. Delphi 2007.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 16.05.2009, 11:14   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

переменная str содержит русские буквы или пробелы?
если да попробуй
str:='"'+str+'"';//lдобавить двойные кавычкм
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 16.05.2009, 15:11   #6
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Код:
Procedure TForm1.Button1Click(Sender: TObject);
Var STR: String;
Begin
STR:='D:\main.bmp';
ShellExecute(Hinstance, 'open', PChar(STR), nil, nil, SW_SHOWMAXIMIZED);
End;
Прекрасно работает... Может путь к файлу неправильный?
А файл точно существует..?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 16.05.2009, 22:55   #7
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Тоже проверил, все работает. Если вам нужно открыть сайт, то лучше так:
Код:
ShellExecute(handle,nil,'url сайта',nil,nil,SW_SHOW)
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
shellExecute GAGARIN-NEW Общие вопросы Delphi 3 18.10.2008 12:04
ShellExecute Zeraim Общие вопросы Delphi 1 07.05.2008 17:02
ShellExecute SNUPY Общие вопросы Delphi 4 19.02.2008 22:59
ShellExecute Volkogriz Общие вопросы Delphi 4 31.10.2007 13:33
ShellExecute doncova1 БД в Delphi 4 29.11.2006 18:20