![]() |
|
![]() ![]() ![]() |
|
Salatovec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
Доброго всем времени суток, имеется такой кусочек кода:
который запускает на исполнение программу Prog.exe, результатом работы которой является файл Test.txt, который я пытаюсь подгрузить в Мемо. Проблема в следующем: Prog работает достаточно долго, а моя программапытается подгрузить файлик в мемо сразу же после запуска Prog, на что компилятор ругается, что файл занят другой программой. Как сделать так, чтобы программа ждала пока Prog.exe не завершит свою работу? Заранее спасибо! |
|||
|
||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Можно попробывать system().
-------------------- 0x2b|~0x2b |
|||
|
||||
Salatovec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
smoke_man, уважаемый, а можно поподробнее
![]() |
|||
|
||||
smoke_man |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Описание system здесь.
В твоем случае:
-------------------- 0x2b|~0x2b |
|||
|
||||
aleks88 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 31.8.2011 Репутация: нет Всего: нет |
Работаю с FibPlus.
Данная строка возвращает данные, записанные в определенном столбце БД FireBird, а данном случае это путь к файлу. Dataset1->FieldByName("LINKFILE")->AsString; Путь имеет обычный формат: D:\papka\file.dox (к примеру). Необходимо открыть этот файл. Подскажите, как передать функции ShellExecute путь до файла, если она восрринимает путь, с двойным слэшэм ? Каким образом сделать преобразование ? Или есть другой вариант, может другая функция ? |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
||||
|
||||
aleks88 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 31.8.2011 Репутация: нет Всего: нет |
Так то работает, попробовал открыть D:/1.txt
Но у меня предполагается, что файлы будут располагаться где то в сети, тога путь будет примерно \\CMP27\Users\1.txt В таком же виде они и будут храниться в базе, в текстовом варианте VARCHAR. Путь до файла возвращается компонентом OpenDialog. Может хранить нужно как по другому ? Подскажите как с этим быть ? Это сообщение отредактировал(а) aleks88 - 11.11.2011, 10:05 |
|||
|
||||
ZVano |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 259 Регистрация: 11.12.2006 Где: Украина, Кривой Р ог Репутация: 1 Всего: 4 |
Можно просто дождаться завершения запущеного процесса.
PS: Если задача состоит в том, чтобы время от времени брать по сети небольшие блоки данных, то лучше воспользоваться mailslots. Очень удобная штука. -------------------- НЕ ФЛУДИМ. Пользуемся кнопками "+" или "-" для выражения своего отношения к теме или сообщению. Гуглим "Как правильно задавать вопросы" |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
||||
|
||||
aleks88 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 31.8.2011 Репутация: нет Всего: нет |
Не работает, работает только при D:/1.txt и D:\\1.txt :(
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Должно работать, покажите код. |
|||
|
||||
aleks88 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 31.8.2011 Репутация: нет Всего: нет |
Работает
Тоже работает
предположим, путь \\имя компьютера\папка\1.txt в каком виде передать его функции ? Это сообщение отредактировал(а) aleks88 - 11.11.2011, 19:09 |
||||
|
|||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
||||
|
||||
aleks88 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 31.8.2011 Репутация: нет Всего: нет |
Большое спасибо, я 3 слэша ставил
![]() Теперь осталось понять, как передать такой путь в функцию, если в базе он хранится как \\Имя компьютера\папка\1.txt т.е. как преобразовать строку, добавив слэши... |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Еще раз повторяю - удваивать слэши нужно только когда вы записываете строку в кавычках в исходном тексте программы. Компилятор автоматически удаляет по одному слешу из такой стоки, когда компилирует программу в исполняемый код. Так что в ShellExecute во время исполнения приходит строка \\имя компьютера\имя шары\папка\1.txt Так что если эта строка извлекается из базы данных, то ничего в ней менять не надо - слэши там такие, какие должны быть |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |