Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2011, 10:03   #1
StalkerOnix
 
Регистрация: 13.01.2011
Сообщений: 7
По умолчанию Особенности ShellExecute

В программе формируется текстовый файл, а затем запускается сторонний exe, который его использует.
Если до этого проводились хоть какие-то операции с файлами, то запускаемое приложение не видит фалй, даже если он был создан ранее.
Если запустить своё приложение и тут же запускать другой exe, то всё работает.
StalkerOnix вне форума Ответить с цитированием
Старый 13.01.2011, 10:16   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Ошибка в 13-й и 42-й строке.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 13.01.2011, 10:21   #3
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Ошибка в 13-й и 42-й строке.
:-)))

покажите код, где используете ShellExecute
vovk вне форума Ответить с цитированием
Старый 13.01.2011, 10:37   #4
StalkerOnix
 
Регистрация: 13.01.2011
Сообщений: 7
По умолчанию

Код:
DirPath:=ExtractFilePath(Application.ExeName);
    AssignFile(f, DirPath+'Fconfig.rta');
    Rewrite(f);
    Writeln(f, Dir+'/');
    Writeln(f, 'Tetrod.v/');
    Write(f, 'Sfrd.w/');
    CloseFile(f);      
    ShellExecute(handle, 'open', PAnsiChar(DirPath+'Ritapolar.exe'), nil, nil, SW_RESTORE);
Ritapolar.exe использует файл Fconfig.rta

сам по себе код работает если его запустить в новом проекте, но в совокупности со всем кодом программы происходит конфликт когда идёт предварительное обращение к даже к другим файлам.

Весь код программы очень большой, не могу понять с чем конфликт

Последний раз редактировалось JTG; 13.01.2011 в 17:32.
StalkerOnix вне форума Ответить с цитированием
Старый 13.01.2011, 11:01   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Версия Delphi? Где кавычки?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 13.01.2011, 12:05   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
Где кавычки?
Где тег [CОDE]? Попробуйте поколдовать с SetCurrentDirectory или как там она называется.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 13.01.2011, 12:18   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

похоже вам нужно расширять путь до абсолютного.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.01.2011, 12:44   #8
StalkerOnix
 
Регистрация: 13.01.2011
Сообщений: 7
По умолчанию

Версия Delphi 7.

Путь формируется полный. Сам exe запускается, а вот конфигурационный файл он не видит, причём если запускать exe вручную то работает.

могу прислать на почту исходник с краткой инструкцией, если есть желающие со свежей головой
StalkerOnix вне форума Ответить с цитированием
Старый 13.01.2011, 12:57   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

посмотрите верно ли у вас указана базовая директория для вашего exe.
из проводника когда запускаете, то она является папкой с exe.(у в вашем случае скорее всего так и остается папка вашего приложения)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.01.2011, 10:09   #10
StalkerOnix
 
Регистрация: 13.01.2011
Сообщений: 7
По умолчанию

Все пути и файлы формируются нормально, exe находиться в папке откуда запускается приложение.
Но ещё раз повторюсь, если педварительно сформировать нужные файлы и запускать exe из приложения, то он эти файлы не видит.
А если запустить вручную, то всё работает. Exe написан на фортране.

Но самое главное: если просто запустить exe из программы то работает, а если предварительно выполнить любую операцию с файлами, то EXE-ник перестаёт видеть файлы.

Последний раз редактировалось StalkerOnix; 17.01.2011 в 10:13.
StalkerOnix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Особенности getch и getchar Lotles Общие вопросы C/C++ 1 18.12.2010 19:32
Особенности вертикальной синхронизации Lotles Компьютерное железо 3 14.12.2010 17:48
Полиморфизм и его особенности Syltan PHP 3 07.12.2010 21:07
Особенности SSL OCTAGRAM Свободное общение 2 01.01.2010 16:42
Особенности разных версий mutabor Microsoft Office Excel 3 21.04.2009 21:08