Текущий архив: 2013.10.27;
Скачать: CL | DM;
Вниз
Мистика !)) Найти похожие ветки
← →
Zheksonz (2013-02-04 00:04) [0]программа запускается:
ShellExecute(Handle, "open", Pchar("C:\Program Files\ProPoster\ProPoster.exe"), nil, nil, SW_SHOWNORMAL);
Изображение открывается:ShellExecute(Handle, "open", Pchar(OpenDialog2.FileName), nil, nil, SW_SHOWNORMAL);
а вот в таком варианте не запускается:ShellExecute(Handle, "open", Pchar("C:\Program Files\ProPoster\ProPoster.exe " + OpenDialog2.FileName), nil, nil, SW_SHOWNORMAL);
несмотря на то, что из командной строки без проблем программа открывает изображение. Мистика ?
← →
Zheksonz (2013-02-04 00:16) [1]Хотя может и не мистика... Вообще-то ранее, в делфи 7, я благополучно использовал ф-цию WinExec, но в Delphi XE Embarcadero WinExec никак не "скушает" мою строку(((
← →
RWolf © (2013-02-04 00:36) [2]C:\Progra~1\…
← →
Zheksonz (2013-02-04 00:49) [3]
> RWolf © (04.02.13 00:36) [2]
да уже как только не пробовал, не выходит(((
Странно, что спокойно "кушается"WinExec("C:\Program Files\ProPoster\ProPoster.exe ", SW_SHOW)
но никак не "скушается"
st: string;
st := OpenDialog2.FileName;
WinExec("C:\Program Files\ProPoster\ProPoster.exe " + st, SW_SHOW)
← →
sniknik © (2013-02-04 01:52) [4]> да уже как только не пробовал, не выходит(((
правильно не пробовал
пара вопросов
1 нафига у функции параметр для передачи параметров? и почему у тебя там nil?
2 что говорит код возврата функции?
ну и ладно третий, почему в одном случае к pchar приводится в другом нет?
← →
Германн © (2013-02-04 01:55) [5]
> несмотря на то, что из командной строки без проблем программа
> открывает изображение. Мистика ?
Никакой мистики нет. Есть незнание функции ShellExecute и её параметров.
А конкретно третьего и четвертого. Возможно что и пятого тоже.
← →
Германн © (2013-02-04 02:00) [6]
> ну и ладно третий, почему в одном случае к pchar приводится
> в другом нет?
Этого автор (судя по его ранним топикам) до сих пор "неасилил".
Ибо не нашел примеров использования WinExec с использованием приведения типов :)
← →
Медвежонок Пятачок © (2013-02-04 08:43) [7]Мистика ?
...уистика!
OpenDialog2.FileName
OpenDialog2.Options := OpenDialog2.Options + [ofNoChangeDir];
несмотря на то, что из командной строки без проблем программа открывает изображение.
← →
Anatoly Pogoretsky (2013-02-04 10:36) [8]> Zheksonz (04.02.2013 00:16:01) [1]
Только чуваки используют в
наше время WinExec из времен Win 3.11
← →
sniknik © (2013-02-04 10:54) [9]> WinExec из времен Win 3.11
а ShellExecute не устарел? а то там какое то не адекватное получение ошибок... был даже случай получил "неизвестную" т.е. номер не из списка в описании msdn, пришлось переделать на ShellExecuteEx там с гетластеррор проблем нет.
← →
sniknik © (2013-02-04 10:57) [10]а да еще вспомнил сразу как запопостил, ShellExecute при runas и юзерском отказе в процессе говорит "отказано в доступе" (5-я ошибка), а вот гетластеррор после ShellExecuteEx более адекватен, ошибка - "отмена пользователя" (что-то типа, дословно не помню).
← →
Zheksonz (2013-02-04 11:42) [11]Добрый день, sniknik и Медвежонок Пятачок!
Спасибо за помощь!
Германн © (04.02.13 01:55) [5] Anatoly Pogoretsky (04.02.13 10:36) [8]
Ну не всем же дано быть такими крутыми программистами, которые ещё никому не дали дельный совет, зато в числе высокомерных и злорадствующих - первые! Должно быть вЫ собой гордитесь ))
← →
Anatoly Pogoretsky (2013-02-04 11:42) [12]> sniknik (04.02.2013 10:54:09) [9]
Может и устарел, но таковым
пока не признается. А вот
WinExec признан
Выписка
> This function is provided for compatibility with earlier versions of
Windows. For Win32-based applications, use the CreateProcess function.
← →
Anatoly Pogoretsky (2013-02-04 11:45) [13]> sniknik (04.02.2013 10:57:10) [10]
Микрософт умные, как знали
что столько маргиналов
окажется и создали
эмуляцию функции WinExec
← →
Inovet © (2013-02-04 11:48) [14]> [12] Anatoly Pogoretsky (04.02.13 11:42)
> Выписка
Кто же их читает, есть же копипаст из Инета.
← →
Zheksonz (2013-02-04 11:53) [15]Просто в седьмой версии Делфи, используя
Winexec
, с конструкциейWinexec(PChar("c:\111\222\123.exe " + OpenDialog2.FileName))
без проблем запускалась программа, и запускала файл, имя и путь к которому я получаю изOpenDialog2.FileName
, и мне было фиолетово, признана эта ф-ция устаревшей или нет, я же не с целью выпендриться использую те или иные ф-ции...
← →
Inovet © (2013-02-04 12:04) [16]> [15] Zheksonz (04.02.13 11:53)
> мне было фиолетово, признана эта ф-ция устаревшей или нет
Зато теперь не фиолетово стало, а нет чтобы сразу сделать как надо ещё тогда.
← →
sniknik © (2013-02-04 12:14) [17]> я же не с целью выпендриться использую те или иные ф-ции...
с целью по извращаться после? мазохист?
← →
Zheksonz (2013-02-04 12:22) [18]
> sniknik © (04.02.13 12:14) [17]
На тот момент она не была признана устаревшей, да и не все же следят за последними новостями в мире программирования... Знаю, многие здесь присутствующие следят, поэтому именно здесь и задал этот вопрос... просто не многие могут позволить себе роскошь не выпендиться, а помочь, но это уже к вопросу о воспитанности людей.
← →
Zheksonz (2013-02-04 12:38) [19]Почти у каждого здесь находящегося есть машина, которую вы чуть ли не каждый день используете... Большинство из вас в общих чертах знает что и как устроено, но если вдруг расход увеличился или ещё какая неисправность появляется, то вы не станете перерывать всю инструкцию, чтобы разобраться какой штуцер нужно подкрутить... Вы просто спросите у профессионала (мастера), что это может быть... Один мастер подскажет, поможет, не вдаваясь в подробности, почему это вы так слабо подкованы, ведь вы пользуетесь машиной достаточно давно, а другой, которого вы конечно же муdаком будете считать и будете правы, не поможет толком, зато кучу гадостей наговорит не по сути, а о том какой он умный, в отличие от вас... Я ничего не упустил, Анатолий Подгорецкий?
← →
sniknik © (2013-02-04 12:46) [20]> зато кучу гадостей наговорит не по сути, а о том какой он умный, в отличие от вас...
это наверное от точки зрения зависит или воспитания... но вот со своей стороны не вижу от него ни гадостей, ни рассказов о том какой он умный, но вижу вполне себе "по сути" сообщение об устаревшей функции.
если продолжат аналогию с авто то сообщение в стиле:
- ну блин, только чудаки бензиновый двигатель керосином заправляют...
можно обижаться, а можно принять к сведению, и спасти двигатель.
← →
знайка (2013-02-04 12:55) [21]Аналогия неправильная, тут пришел программист к программисту, а там сантехник к слесарю. :)
← →
Плохиш © (2013-02-04 12:55) [22]
> Zheksonz (04.02.13 12:38) [19]
Судя по многа букаф, вам надо нанять программиста.
PS. водитель (пользователь автомобиля) и мастер по ремонту ("программист" автомобиля) - это разные понятия.
← →
Zheksonz (2013-02-04 12:57) [23]
> sniknik © (04.02.13 12:46) [20]
Если чувак это не оскорбление, то кто из здесь присутствующих готов сказать, что он чувак?
И потом, нашлись же те, кто дал мне правильный, полезный совет, без употребления слова "чувак"... и он мог подсказать, что сейчас лучше использовать CreateProcess, т.к. winexec устарел, но как же при этом он самоутвердится? Ведь просто помощь, тем более в категории "Начинающим", не даст ему никакого самоудовлетворения, а вот оскорбит человека, совсем другой эффект прочувствует... Это очевидно, так что не нужно никого выгораживать. Каждый получает по заслугам. И если я признал сою слабую подкованность и перебрался в категорию начинающим, то пусть и он признается в высокомерии и невоспитанности.
← →
Zheksonz (2013-02-04 13:01) [24]
> Плохиш © (04.02.13 12:55) [22]
Я не программист... я просто, по столько по скольку, использую программирование для автоматизации своей непосредственной работы... по аналогии с тем, как водитель использует машину для передвижения.
← →
Anatoly Podgoretsky © (2013-02-04 13:16) [25]Сколько лет вижу на форуме, а все одни и теже жалобы, может пора заняться собой, а не искать врагов вокруг
← →
Zheksonz (2013-02-04 13:28) [26]
> Anatoly Podgoretsky © (04.02.13 13:16) [25]
> Сколько лет вижу на форуме, а все одни и теже жалобы, может
> пора заняться собой, а не искать врагов вокруг
Повторю для тех, кто не слышит других, т.к. слишком занят собой, я не программист, я просто использую программирование для автоматизации моей непосредственной работы, которой у меня предостаточно. Что не даёт мне возможности углублённо заниматься именно программированием. При этом я естественно не являюсь специалистом или мастером в программировании, поэтому я и задаю вопросы в категории начинающим.
По мере возможности я всё же стараюсь разобраться, но конкретно в этом случае меня сбило с толку то, что вроде бы конструкция правильная, ведь она проходила в делфи 7, но почему-то не работает в новом компиляторе.
А ответ-то был прост, если его не разбавлять оскорблениями, и смог его дать только sniknik © (04.02.13 01:52) [4] и наверняка совет Медвежонка Пятачка © (04.02.13 08:43) [7] пригодится. Им спасибо!
← →
clickmaker © (2013-02-04 13:31) [27]> наверняка совет Медвежонка Пятачка © (04.02.13 08:43)
> [7] пригодится
не пригодится, если указываешь полные пути
← →
Zheksonz (2013-02-04 14:22) [28]
> clickmaker © (04.02.13 13:31) [27]
> > наверняка совет Медвежонка Пятачка © (04.02.13 08:43)
>
> > [7] пригодится
>
> не пригодится, если указываешь полные пути
Да, указываю полные пути, но всё равно считаю совет Медвежонка Пятачка полезным, т.к. он демонстрирует один из возможных вариантов неработоспособности кода.
← →
Dennis I. Komarov © (2013-02-04 19:49) [29]
> Я не программист... я просто, по столько по скольку, использую
> программирование для автоматизации своей непосредственной
> работы...
Время - это невостонавливаемый ресурс, а Вы его тратите зря...
Страницы: 1 вся ветка
Текущий архив: 2013.10.27;
Скачать: CL | DM;
Память: 0.55 MB
Время: 0.006 c