Автор | Сообщение |
|
| |
Пост N: 34
Зарегистрирован: 24.09.13
|
|
Отправлено: 18.10.13 20:00. Заголовок: Закрытие Харб крестиком
Следует ли расчитывать, что при закрытии окна программы крестиком (харб 3.2.0) в любой момент не приведет к краху DBF ? Т.е.они все автоматом закроются ? А если в данный момент выполнен flock() и идут операции записи в БД, что произойдет ? Можно как-то блокировать из харба закрытие крестом на это время ? Или какое-нибудь предупреждение повесить ? харб 3,2,0 + BCC 55
|
|
|
Ответов - 41
, стр:
1
2
3
All
[только новые]
|
|
|
| |
Пост N: 3638
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.10.13 20:21. Заголовок: http://clipper.borda..
|
|
|
|
| |
Пост N: 37
Зарегистрирован: 24.09.13
|
|
Отправлено: 19.10.13 09:36. Заголовок: спасибо, HB_gtInfo( ..
спасибо, HB_gtInfo( HB_GTI_CLOSABLE, .F. ) работает Но возник другой вопрос, чтобы получить доступ и к другим функциям HB_gtInfo, я исследовал пример из TESTS wvtext. В программе должен быть PROCEDURE hb_GTSYS() REQUEST HB_GT_WVT_DEFAULT REQUEST HB_GT_WIN RETURN Но при этом возникает паразитное окно. Причем при запуске из FAR лишнего окна не возникает, по-видимому Far как-то по умному это обходит. А если пример wvtext запускать ярлыком- то 2 окна (Win 7 32 разр Харб 3.2.0 + BCC 55). Как с этим бороться ?
|
|
|
|
| |
Пост N: 38
Зарегистрирован: 24.09.13
|
|
Отправлено: 19.10.13 13:43. Заголовок: Частично проблема ре..
Частично проблема решается, если вместо REQUEST, как в примере wvtext, использовать опцию hbmk2 -gtwvt. Тогда при создании ярлыка непосредственно на exe работает нормально. НО мне надо exe запускать из bat-ника ! А при создании ярлыка на батник он получается "Тип объекта- Пакетный файл Windows". И тогда появлется лишнее "родительское" окно, а уже потом окно самой программы. Как решить проблему ???
|
|
|
|
| |
Пост N: 3639
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.10.13 13:59. Заголовок: and3081 пишет: испо..
and3081 пишет: цитата: | использовать опцию hbmk2 -gtwvt |
| попробуй hbmk2 -gtwvt -gui
|
|
|
|
| |
Пост N: 65
Зарегистрирован: 21.04.13
|
|
Отправлено: 19.10.13 14:31. Заголовок: Лишнее окно
and3081 пишет: цитата: | НО мне надо exe запускать из bat-ника |
| Если в батнике после вызова EXE не нужно ожидание завершения EXE, вызов EXE можно сделать через START тогда первое окно (батника) закроется, окно TEST.exe будет жить =====TEST.BAT=== rem TEST.EXE start TEST.EXE ... EXIT
|
|
|
|
| |
Пост N: 39
Зарегистрирован: 24.09.13
|
|
Отправлено: 19.10.13 15:55. Заголовок: попробовал на редакт..
попробовал совет petr на редакторе мультиедит, давно меня лишнее окно достает (в WinXP так не было) Не работает ни start "C:\Program Files\Multi-Edit Lite 2008\MeLite.exe -SR" exit ни start "C:\Program Files\Multi-Edit Lite 2008\MeLite.exe" -SR exit В смысле редактор даже не запускается. Ну это моей проблемы и не решило бы, просто попробовал. Опция -gui к видимым результатам не привела. А батник у меня используется для обновления, т.е. замены exe-шника. т.е. X.BAT: astr.exe @if errorlevel 44 obnov.bat Т.е.программа создает obnov.bat и выходит с возвратом errorlevel=44. А как еще заменить exe-шник, не выйдя из него? Т.е. и батник не завершить до выхода из проги. От батника не отказаться, замкнутый круг. Есть идеи ?
|
|
|
|
| |
Пост N: 3641
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.10.13 16:08. Заголовок: start "заголовок..
start "твой заголовок" "C:\Program Files\FlashFXP\FlashFXP.exe" или start /b "твой заголовок" "C:\Program Files\FlashFXP\FlashFXP.exe"
|
|
|
|
| |
Пост N: 40
Зарегистрирован: 24.09.13
|
|
Отправлено: 19.10.13 16:12. Заголовок: ну с мультиедитом ра..
ну с мультиедитом разобрался, оказывается первые кавычки у start - это заголовок окна. Работает: start "1" "C:\Program Files\Multi-Edit Lite 2008\MeLite.exe" -SR exit а по основной проблеме- как из проги запустить батник, но чтобы прога при этом завершилась ? Чтобы ее можно было перезаписать ?
|
|
|
|
| |
Пост N: 3642
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.10.13 16:15. Заголовок: мне кажется что до з..
мне кажется что до запуска проги из батника нужно средствами языка батника проверить обновление и если оно есть менять EXE и после этого его запускать. то есть прогу всегда запускать через батник.
|
|
|
|
| |
Пост N: 3643
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.10.13 16:20. Заголовок: можно еще тему полис..
|
|
|
|
| |
Пост N: 41
Зарегистрирован: 24.09.13
|
|
Отправлено: 19.10.13 16:23. Заголовок: Точно ! Будем кроить..
Точно ! Будем кроить
|
|
|
|
|
| постоянный участник
|
Пост N: 3022
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.10.13 16:34. Заголовок: and3081 пишет: А ка..
and3081 пишет: цитата: | А как еще заменить exe-шник, не выйдя из него? |
| Стандартными средствами НИКАК !
|
|
|
|
| |
Пост N: 66
Зарегистрирован: 21.04.13
|
|
Отправлено: 19.10.13 17:49. Заголовок: А что такое "..заменить ","..стандартными" и для кого ?
Andrey пишет: цитата: | Стандартными средствами НИКАК ! |
| Прошу попробовать Можно в отдельном окне, например по <Shift+Enter> из под Far В контексте пользователя - отлично меняется ИМЯ исполняемого файла, освобождая основное имя для размещения нового файла. Выполняемая задача НЕ ВИДИТ замены имени исполняемого файла hbmk2.exe test.prg -lhbct ========test.prg===== proc main ? exename() Inkey(100) hb_run("rename test.exe test_old.exe") ? exename() Inkey(100) hb_run("dir >a.txt") Inkey(100) ? filestr("a.txt") return
|
|
|
|
| |
Пост N: 3644
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.10.13 17:52. Заголовок: petr707 Интересный ..
petr707 Интересный подход По ходу в Clipper можно было даже писать в запущенный EXE , с Harbour такой фокус не проходит Имею в виду fopen(exename(),2) (fseek(),fwrite(),fclose())
|
|
|
|
| |
Пост N: 353
Зарегистрирован: 08.07.06
|
|
Отправлено: 19.10.13 20:57. Заголовок: А нужно-ли запускать..
А нужно-ли запускать обновление прямо во время работы задачи ? У меня происходит все при автозагрузке. Подключаются сетевые диски, проверяется версия, если есть различие - обновление. Юзеры работают днем, программа обновляется в основном, ночью. В редких случаях - можно вывести окно с требованием завершить работу и запустить update.bat ярлыком автозагрузки. Версии работающих программ видны - при необходимости самыми упертыми админ занимается лично.
|
|
|
|
| постоянный участник
|
Пост N: 3025
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.10.13 22:43. Заголовок: Sergy пишет: при не..
Sergy пишет: цитата: | при необходимости самыми упертыми админ занимается лично. |
| +1 и какие такие упертые ?
|
|
|
|
| постоянный участник
|
Пост N: 3026
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.10.13 22:58. Заголовок: Dima пишет: с Harb..
Dima пишет: цитата: | с Harbour такой фокус не проходит Имею в виду fopen(exename(),2) (fseek(),fwrite(),fclose()) |
| Проходит. Берешь, делаешь в своей программе RENAME("test.exe","test_old.exe") а уж потом fopen("test.exe",2) (fseek(),fwrite(),fclose())`
|
|
|
|
| |
Пост N: 3645
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.10.13 09:29. Заголовок: Andrey пишет: а уж ..
Andrey пишет: цитата: | а уж потом fopen("test.exe",2) (fseek(),fwrite(),fclose()) |
| скорее уж так ;) fopen("test_old.exe",2)
|
|
|
|
| |
Пост N: 42
Зарегистрирован: 24.09.13
|
|
Отправлено: 20.10.13 15:43. Заголовок: с этим решилось, даж..
с этим решилось, даже переделывать обновление не пришлось, только добавил start и тот же батник и так отработал: start astr.exe @if errorlevel 44 obnov.bat Теперь другая проблема обнаружилась. Раньше (без gtwvt) вызов внешнего приложения, например, explorer, сразу открывало его в новом окне. swpruncmd() А теперь тоже открывается лишнее окно с заголовком C:\windows\system 32\cmd.exe. А поверх него окно с приложением (блокнот,explorer и т.п.). Отказываться от swpruncmd() ? UPDATE Если сделать swpruncmd("start приложение"), то лишнего окна нет. НО ! Тогда моя программа работает параллельно с открытым приложением. А надо, чтобы программа не работала, пока не завершишь приложение. Иначе клиент такого наворотит :)
|
|
|
|
| |
Пост N: 3647
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.10.13 15:45. Заголовок: and3081 пишет: swpr..
|
|
|
Ответов - 41
, стр:
1
2
3
All
[только новые]
|
|