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

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

Глюк с ListView [D7, Win95/98, WinME, NT4, Win2k, WinXP]


K_O_T ©   (2002-11-14 14:36:00) 

Я сейчас пишу(уже написал можно считать) базу данных для организации и быстрого доступа к некоторым файлам (преимущественно *.html, *.htm и т.д) ....вот...

Мне надо их запускать при клике по строчке в ListView....но они ни хотят этого запускаться делаю так:

Код:

procedure TForm1.dxDNListView1DblClick(Sender: TObject);
begin
try

ShellExecute(0,"open", dxDNListView1.Selected.SubItems.GetText {в этой строке dxDNListView1 адрес написан} , nil, nil, SW_MAXIMIZE );
form1.Deactivate
except
MessageDlg("Error",
mtWarning, [mbYes], 0)
end;
end;

не пашет гадина ...при исполнении возвращается код ошибки
ERROR_FILE_NOT_FOUND (что значит думаю сами знаете) ...а файл есть ....и если написать не dxDNListView1.Selected.SubItems.GetText а например "с:\Foo.exe" то пашет...
тогда я делаю так

Код:
ShellExecute(0,"open","Explorer.exe",dxDNListView1.Selected .SubItems.GetText,nil,SW_MAXIMIZE );

интернет странички открываются правильно а *.exe или *.doc придлагает сохранить на диске или открыть

прикол в том что WinExec и CreateProsses тоже не работают...тоже файл не видят..если
dxDNListView1.Selected.SubItems.GetText и
видят если "c:\foo.exe"

P.s. dxDNListView тоже что TListView только посимпотнее

Помогите Plz...


K_O_T   (2002-11-14 16:51:00) [1]

>>DieHard © такого нет
>>Всем ..проблема решена
ShellExecute(0,"open", Pchar(dxDNListView1.Selected.SubItems.CommaText), nil, nil,SW_MAXIMIZE );


KoluChi   (2002-11-14 15:36:00) [2]

Если FileExists файл не находит, значит его нет.
советую breakpoint, пошаговый debug.


DieHard   (2002-11-14 15:32:00) [3]

2K_O_T :
И все-таки я бы тебе настоятельно посоветовал рассмотреть вариант с dxDNListView1.Selected.SubItems[0]
Велика вероятность, что dxDNListView1.Selected.SubItems.GetText возвращает строку с символами перевода #13#10


K_O_T   (2002-11-14 15:14:00) [4]

>>KoluChi не находит а файл есть


K_O_T   (2002-11-14 15:02:00) [5]

Хотяя...подожжи...dxDNListView1.Selected .SubItems.GetText возвращает Pchar ...а dxDNListView1.Selected.SubItems.Text string
но это нам не поможет


K_O_T   (2002-11-14 14:59:00) [6]

>>Неее...возвращает он то что нужно например Showmessage(dxDNListView1.Selected .SubItems.GetText) выдает например с:\x\r\ere\x.exe


Marcus   (2002-11-14 14:56:00) [7]

А что у тебя GetText возвращает, смотрел в отладчике? Если у тебя SubItem"ов несколько это будет несколько строк, поскольку StringList. Может надо что-то типа dxDNListView1.Selected .SubItems[0] ?


KoluChi   (2002-11-14 14:55:00) [8]

А FileExists(dxDNListView1.Selected .SubItems.GetText()) чему равно?


K_O_T   (2002-11-14 14:53:00) [9]

WinExec тоже не пашет если в качестве параметра указать dxDNListView1.Selected .SubItems.GetText(*Тут путь к файлу хранится*)


KoluChi   (2002-11-14 14:46:00) [10]

Попробуй WinExec - старая функция, параметров всего 2, но тебе может быть поможет.


Наверх

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