Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ShellExecute


dasha ©   (2006-11-29 19:09:00) 

В БД Access в столбике adress хранятся адреса файлов(ну просто строкой: Hi.txt....)
хочу открыть по этому адресу файл:

s:=AdoTable1.FieldValues['Adress'];
ShellExecute(0,nil,pchar(s),'','',SW_SHOWNORMAL);

выдает ошибку на 2-ю строку
Invalid typecast


sniknik   (2006-11-30 21:41:00) [1]

> А что значит ассоциировано и как это делать,
при двойном клике в проводнике по файлу с каким нибудь расширением запускается ассоциированная с ним программа... в ней собственно и откроется такой файл. нет ассоциации винда предложит выбрать, SysErrorMessage попросту ничего не сделает, вернет ошибку.

> А ошибка по-прежнему таже Invalid typecast
> и если вместо pchar(s) написать просто Hi.doc то все отлично запускается
ну значит не может преобразовать тип... значит s всетаки не строка, либо то что приводишь тут <> тому что на самом деле, либо у тебя вообще не дельфи...


dasha   (2006-11-30 20:33:00) [2]

А что значит ассоциировано и как это делать,
А ошибка по-прежнему таже Invalid typecast
и если вместо pchar(s) написать просто Hi.doc то все отлично запускается

когда в текст прог-и вставляю
ShowMessage(SysErrorMessage(ShellExecute(0, 'open', pchar(s), nil, nil, SW_SHOWNORMAL)));
то выдает туже ошибку и опять не хочет компилироваться(


sniknik   (2006-11-29 22:45:00) [3]

надо не в едит неизвестно что выводить, и выводы по этому делать а смотреть возвращаемую ошибку
ShowMessage(SysErrorMessage(ShellExecute(0, 'open', pchar(s), nil, nil, SW_SHOWNORMAL)));

(так понимаю ошибку конвертации больше не выдает, судя по "и все равно не работает(" вместо "та же хрень". очень информационно...)

расширение файла с чемнибудь в системе ассоциировано?


dasha   (2006-11-29 22:29:00) [4]

файл есть, пробовала выводить не в s а в edit1.txt


Anatoly Podgoretsky   (2006-11-29 22:11:00) [5]

> dasha  (29.11.2006 20:08:02)  [2]

А с чего бы этому работать, если там файла нет.


dasha   (2006-11-29 20:08:00) [6]

S:string
и все равно не работает(


sniknik   (2006-11-29 19:42:00) [7]

s случаем не вариант?
вообще пиши явно
s:= AdoDataSet.FieldByName('Adress').AsString;
и ехекют поправь
ShellExecute(0, 'open', pchar(s), nil, nil, SW_SHOWNORMAL);
(по моему так, хотя, я всегда вместо ноля хендл передавал, а ноль это хендл десктопа)


Наверх

Титульная страница Поиск, карта сайта Написать письмо