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

Вниз

Выравнивание колонок 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.59 MB
Время: 0.006 c
1-1234806566
istok20
2009-02-16 20:49
2010.01.31
получить url из google chrome


15-1259489854
koha!
2009-11-29 13:17
2010.01.31
А что так дорого стоит RAD Studio?


2-1260378529
Nostalgia
2009-12-09 20:08
2010.01.31
Классы


2-1260216994
istok20
2009-12-07 23:16
2010.01.31
Invalid pointer operation...


1-1229112643
ivak
2008-12-12 23:10
2010.01.31
Собственный курсор





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский