On-line: Oskar_AAA, гостей 0. Всего: 1 [подробнее..]
АвторСообщение



Пост N: 34
Зарегистрирован: 24.09.13
ссылка на сообщение  Отправлено: 18.10.13 20:00. Заголовок: Закрытие Харб крестиком


Следует ли расчитывать, что при закрытии окна программы крестиком (харб 3.2.0) в любой момент не приведет к краху DBF ? Т.е.они все автоматом закроются ?

А если в данный момент выполнен flock() и идут операции записи в БД, что произойдет ?
Можно как-то блокировать из харба закрытие крестом на это время ? Или какое-нибудь предупреждение повесить ? харб 3,2,0 + BCC 55



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 41 , стр: 1 2 3 All [только новые]


администратор




Пост N: 3638
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.10.13 20:21. Заголовок: http://clipper.borda..


http://clipper.borda.ru/?1-4-0-00000824-000-0-0-1377875287
Для начала можно просто заблочить крестик HB_gtInfo( HB_GTI_CLOSABLE, .F. )

Спасибо: 1 
ПрофильЦитата Ответить



Пост 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). Как с этим бороться ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 38
Зарегистрирован: 24.09.13
ссылка на сообщение  Отправлено: 19.10.13 13:43. Заголовок: Частично проблема ре..


Частично проблема решается, если вместо REQUEST, как в примере wvtext, использовать опцию hbmk2 -gtwvt. Тогда при создании ярлыка непосредственно на exe работает нормально.

НО мне надо exe запускать из bat-ника ! А при создании ярлыка на батник он получается "Тип объекта- Пакетный файл Windows". И тогда появлется лишнее "родительское" окно, а уже потом окно самой программы. Как решить проблему ???

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3639
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.10.13 13:59. Заголовок: and3081 пишет: испо..


and3081 пишет:

 цитата:
использовать опцию hbmk2 -gtwvt


попробуй hbmk2 -gtwvt -gui

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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


Спасибо: 0 
ПрофильЦитата Ответить



Пост 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-шник, не выйдя из него? Т.е. и батник не завершить до выхода из проги. От батника не отказаться, замкнутый круг. Есть идеи ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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"

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 40
Зарегистрирован: 24.09.13
ссылка на сообщение  Отправлено: 19.10.13 16:12. Заголовок: ну с мультиедитом ра..


ну с мультиедитом разобрался, оказывается первые кавычки у start - это заголовок окна. Работает:

start "1" "C:\Program Files\Multi-Edit Lite 2008\MeLite.exe" -SR
exit

а по основной проблеме- как из проги запустить батник, но чтобы прога при этом завершилась ? Чтобы ее можно было перезаписать ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3642
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.10.13 16:15. Заголовок: мне кажется что до з..


мне кажется что до запуска проги из батника нужно средствами языка батника проверить обновление и если
оно есть менять EXE и после этого его запускать.
то есть прогу всегда запускать через батник.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3643
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.10.13 16:20. Заголовок: можно еще тему полис..


можно еще тему полистать
http://clipper.borda.ru/?1-4-0-00000741-000-0-0-1335519340

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 41
Зарегистрирован: 24.09.13
ссылка на сообщение  Отправлено: 19.10.13 16:23. Заголовок: Точно ! Будем кроить..


Точно ! Будем кроить

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3022
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.10.13 16:34. Заголовок: and3081 пишет: А ка..


and3081 пишет:

 цитата:
А как еще заменить exe-шник, не выйдя из него?


Стандартными средствами НИКАК !

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3644
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.10.13 17:52. Заголовок: petr707 Интересный ..


petr707
Интересный подход
По ходу в Clipper можно было даже писать в запущенный EXE , с Harbour такой фокус не проходит
Имею в виду fopen(exename(),2) (fseek(),fwrite(),fclose())

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 353
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 19.10.13 20:57. Заголовок: А нужно-ли запускать..


А нужно-ли запускать обновление прямо во время работы задачи ?
У меня происходит все при автозагрузке. Подключаются сетевые диски, проверяется версия, если есть различие - обновление.
Юзеры работают днем, программа обновляется в основном, ночью. В редких случаях - можно вывести окно с требованием завершить работу и запустить update.bat ярлыком автозагрузки.
Версии работающих программ видны - при необходимости самыми упертыми админ занимается лично.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3025
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.10.13 22:43. Заголовок: Sergy пишет: при не..


Sergy пишет:

 цитата:
при необходимости самыми упертыми админ занимается лично.


+1
и какие такие упертые ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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())`

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3645
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.10.13 09:29. Заголовок: Andrey пишет: а уж ..


Andrey пишет:

 цитата:
а уж потом fopen("test.exe",2) (fseek(),fwrite(),fclose())


скорее уж так ;) fopen("test_old.exe",2)

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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 приложение"), то лишнего окна нет. НО ! Тогда моя программа работает параллельно с открытым приложением. А надо, чтобы программа не работала, пока не завершишь приложение. Иначе клиент такого наворотит :)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3647
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.10.13 15:45. Заголовок: and3081 пишет: swpr..


and3081 пишет:

 цитата:
swpruncmd()


В Harbour её нет.
Смотри тему http://clipper.borda.ru/?1-4-0-00000327-000-0-0-1365089161

я бы советовал (если нужно ждать окончания работы запущенного приложения) EXECANDWAIT
если ждать не нужно hb_processrun , WAPI_ShellExecute

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 41 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 253
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет