Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.31;
Скачать: CL | DM;

Вниз

Выравнивание колонок ListView по содержимому   Найти похожие ветки 

 
Aleks   (2009-10-30 12:05) [40]

openDialog1.FileName=E:\TECDOC_CD\3_2009\pb\tof.exe  Нужно просто запустить, открыть ничего в нем не удастся. В идеале надо открыть указанную в проге запчасть в каталоге,но я пробовал передать параметры bat-ником (tof.exe код запчасти),-безрезультатно :(


 
Юрий Зотов ©   (2009-10-30 12:13) [41]

О, боже... ну наконец-то.

WinExec(PChar(OpenDialog1.FileName), SW_NORMAL);

PS
Не нужен Вам никакой OpenDialog. Пропишите путь к tof.exe в файле настроек Вашей программы и читайте его оттуда. Незачем заставлять юзера каждый раз одни те же кнопки тыркать.


 
Юрий Зотов ©   (2009-10-30 12:17) [42]

Добавление: у Вас строка запуска не содержит пробелов, но если они есть, то при передаче WinExec эту строку надо взять в двойные кавычки.


 
Aleks   (2009-10-30 12:49) [43]

> Юрий Зотов. OpenDialog единожды использую для выбора пути к файлу TecDoc в настройках программы, потом он записывается в реестр и читается при вызове комманды контекстного меню списка запчастей. Попробую WinExec(PChar(OpenDialog1.FileName), SW_NORMAL) и отпишусь.. Спасибо за поддержку!


 
Aleks   (2009-10-30 12:54) [44]

Не работает WinExec(PChar(OpenDialog1.FileName), SW_NORMAL); Окно ошибки: Reading Errormessages failed. Errorcode= -2. Could not load Errormessages :( Predefined Message "ISB-00001" not found (да\нет\отмена). Так же как и с ShellExecute :(


 
Юрий Зотов ©   (2009-10-30 13:22) [45]

Фантастика какая-то. Попробуйте так:

// S - это строка запуска TecDoc (E:\TECDOC_CD\3_2009\pb\tof.exe)

if not SetCurrentDir(ExtractFileDir(Trunc(S))) then
 raise Exception.Create("Невозможно установить стартовый каталог");
WinExec(PChar(""" + Trunc(S) + """), SW_NORMAL);


 
Aleks   (2009-10-30 13:30) [46]

Попробую и отпишусь.. Спасибо Юрий!


 
Aleks   (2009-10-30 13:47) [47]

Ошибка компиляции,несовместимость типов: Trunc(S). Trunc разве не с числами работает, отделяет дробную часть?


 
Юрий Зотов ©   (2009-10-30 13:52) [48]

Trim, а не Trunc, конечно.

Блин... чертова Java...


 
Dennis I. Komarov ©   (2009-10-30 14:11) [49]


> Aleks   (30.10.09 10:52) [32]

Отговорки...


> OpenDialog единожды использую для выбора пути к файлу TecDoc
> в настройках программы,

Для этого есть SelectDirectory


 
Aleks   (2009-10-30 15:17) [50]

>Dennis I. Komarov. SelectDirectory как использовать? Можно код?
> Юрий Зотов. ПопробуюTrim..


 
Dennis I. Komarov ©   (2009-10-30 15:21) [51]


> Aleks   (30.10.09 15:17) [50]

опять 25...

F1 не проще нажать или это проверка терпения?


 
Aleks   (2009-10-30 15:21) [52]

> Юрий Зотов. С тримом заработало! :) В чем секрет можете обьяснить? Буду оч.благодарен...


 
Dennis I. Komarov ©   (2009-10-30 15:23) [53]

подскажу лишь, что он не один...


> В чем секрет можете обьяснить?

в пробелах...


 
Aleks   (2009-10-30 15:25) [54]

>Dennis I. Komarov. Ясно, сам разберусь..
> Юрий Зотов. Откуда взялись пробелы в начале и конце в OpenDialog.FileName?


 
Aleks   (2009-10-30 15:26) [55]

>Dennis I. Komarov. Нравятся загадки? ;) Или просто отвечать не любите?


 
Dennis I. Komarov ©   (2009-10-30 15:31) [56]


> Aleks   (30.10.09 15:26) [55]

Хочу научить юзать справку, оно полезно будет

> Aleks   (30.10.09 15:25) [54]

Оно и без трима должно прекрасно работать...


 
Aleks   (2009-10-30 15:33) [57]

>Dennis I. Komarov. А вот не работало, стал бы я создавать тут тему и всем надоедать. Писал бы себе дальше прогу(еще процентов 25 предстоит)...


 
Aleks   (2009-10-30 15:35) [58]

>Dennis I. Komarov. P.S. И сдается мне что Гугль полезнее справки..


 
Dennis I. Komarov ©   (2009-10-30 15:42) [59]

Ну так посмотри что делает трим, и, как следствие, откуда пробелы берутся.

> Aleks   (30.10.09 15:35) [58]

Флаг в руки...


 
Dennis I. Komarov ©   (2009-10-30 15:46) [60]

[16] тоже там нашел...


 
Юрий Зотов ©   (2009-10-30 17:47) [61]

> Aleks   (30.10.09 15:21) [52]

Скорее всего, дело не в триме, я его просто на всякий случай вставил (кто его знает, что там с FileName у Вас присходит, вдруг к нему ерунда какая-нибудь дописывается?).

Меня смутило сообщение об ошибке - какое-то оно "несистемное" (да и код -2 функция WinExec выдать не может, если верить ее описанию). Поэтому я предположил, что WinExec срабатывает нормально и TecDoc успешно запускает, а ошибку выдает уже сам TecDoc и тут же завершается (а с виду получается, что он, вроде бы, и не запускался вовсе, хотя это не так).

Косвенным подтвержением такого предположения стал текст "ISB-00001 not found" в сообщении - я набрал ISB-001 в гугле и стало ясно, что к WinExec он уж точно никаким боком не относится, а вот к TecDoc - может быть (я просто не знаю этой программы, но не исключено).

Тогда возник следующий вопрос - почему при клике по ярлыку TecDoc запускается нормально, а при программном запуске кричит, что он чего-то там "not found"? В чем разница? Вы сказали, что никаких параметров запуска в ярлыке не прописано - значит, разница только в стартовом каталоге. При запуске ярлыком стартовый каталог - это собственный каталог TecDoc, а при запуске из программы стартовый каталог - это текущий каталог программы, если явно не указан никакой другой. И запросто может быть, что при запуске не из своего каталога TecDoc действительно не может чего-то там найти (неграмотно написан, кстати).

Проверка простая - перед запуском TecDoc сменить текущий калог и на собственный каталог TecDoc и посмотреть, что произойдет. И правда произошло - оно возьми, да и заработай.

А трим - это уже так, для страховки. Если никаких фокусов Вы с FileName не вытворяете, то трим можно убрать, должно и без него работать.


 
Юрий Зотов ©   (2009-10-30 17:54) [62]

> Aleks   (30.10.09 15:35) [58]

> И сдается мне что Гугль полезнее справки..

Это САМАЯ грубая ошибка, какую только можно себе представить.

Гугль становится полезным после того, как справку знаешь уже чуть ли не наизусть. А при незнании справки гугль гораздо более вреден, чем полезен.

Знаете, сколько новичков на этом обжигалось? Только на одном этом форуме их были многие сотни (если не тысячи). Кстати, и Вы тоже (см. 22).


 
Юрий Зотов ©   (2009-10-30 18:02) [63]

Для двоичных программистов:

Я в курсе, что при запуске ярлыком стартовый каталог в этом же ярлыке и прописывается.

Но я также в курсе и того, что с вероятностью "много-много девяток" он прописан, как собственный каталог программы. Потому что по дефолту он именно такой, а меняют дефолт лишь очень редкие эстеты.

Эстеты - это, знаете ли, вообще редкость...


 
Aleks   (2009-10-30 18:09) [64]

> Юрий Зотов. Спасибо за подробное описание,очень рад получить помощь от толкового специалиста. Впредь буду знать нюансы запуска внешних программ. А еще понравилась фраза: "Эстеты - это, знаете ли, вообще редкость..." :)


 
Германн ©   (2009-10-30 18:41) [65]


> А еще понравилась фраза: "Эстеты - это, знаете ли, вообще
> редкость..."

Она понравится ещё больше, если прочитаешь бессмертное произведение Я.Гашека
:)


 
Inovet ©   (2009-10-30 19:15) [66]

> [45] Юрий Зотов ©   (30.10.09 13:22)

А WinExec для упрощения примера?


 
Юрий Зотов ©   (2009-10-30 19:45) [67]

> Inovet ©   (30.10.09 19:15) [66]

Угу. Оно, конечно, уже давно deprecated, зато самое простое.

И, впрочем, песня не о нем, а...
:o)


 
Юрий Зотов ©   (2009-10-30 20:09) [68]

А вообще, я лопух. Уже в [44] после слов "окно ошибки" надо было сразу сообразить, что WinExec никаких окон не выдает и, значит, ни при чем.

Хотя кто его знает, чем там этот WinExec был в коде обернут...


 
recop ©   (2009-12-07 17:28) [69]

Господа, а как можно выровнять колонку по содержимому в стиле  vsList?



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

Текущий архив: 2010.01.31;
Скачать: CL | DM;

Наверх




Память: 0.6 MB
Время: 0.013 c
15-1259084165
Anatoly Podgoretsky
2009-11-24 20:36
2010.01.31
Анонс статьи


1-1234806566
istok20
2009-02-16 20:49
2010.01.31
получить url из google chrome


15-1258984807
Unknown user
2009-11-23 17:00
2010.01.31
Кнопка Favorites в диалогах Open/Save в Windows XP


2-1260356012
Danco
2009-12-09 13:53
2010.01.31
Функция Case ... of


15-1259282883
Дмитрий С
2009-11-27 03:48
2010.01.31
Вопрос по настройке DNS