Page 1 of 1
Mai multe ferestre de programe HAMOR Soft simultan
Posted: 04 Dec 2012, 18:49
by imre.bodosi
Cum deschis mai multe ferestre de programe HAMOR Soft simultan ?
Lansarea a doua hmenu.bat din varianta comerciala nu este o solutie adecvata:
daca programele sunt mono, cele doua se blocheaza reciproc,
iar daca programele sunt de tip retea, la revenirea din program in hMENU se incurca,
dat fiind faptul ca TMP\HMENUss.bat si TMP\ST_ss.ST create temporar cu secventa de lansare a progrului si cu locul de reveinre in hMENU sunt aceleasi,
la ambele fiind aceeasi numar de statie "ss".
Re: Mai multe ferestre de programe HAMOR Soft simultan
Posted: 04 Dec 2012, 18:54
by imre.bodosi
O solutie este lansarea programelor din hMENU fara asteptarea terminarii.
Astfel fereastra hMENU este permanent pe ecran si este utilizat pentru a lansa cate un program.
In hMENU.bat in loc de
call tmp\hmenu%STATION%.bat
se utilizeaza
start cmd /C tmp\hmenu%STATION%.bat
Vezi intreaga secventa:
Code: Select all
if errorlevel 1 goto SFIRSIT
rem call tmp\hmenu%STATION%.bat
start cmd /C tmp\hmenu%STATION%.bat
:CICLU
d:
cd \HAMOR
hMENUe DBMENU\DBMENU 2%1
if errorlevel 1 goto SFIRSIT
rem call tmp\hmenu%STATION%.bat
start cmd /C tmp\hmenu%STATION%.bat
goto CICLU
Re: Mai multe ferestre de programe HAMOR Soft simultan
Posted: 04 Dec 2012, 19:05
by imre.bodosi
Lansare mai multe hMENU.bat in paralel, in exemplu, maximum 3.
Solutia consta din a genera cate un numar statie distinct pentru fiecare hMENU.bat lansat.
hMENU.bat se apleaza pe fiecare statie dintr-un shortcut indicand numarul statiei format dintr-o cifra sau litera: hMENU.bat 1
La acest caracter se adauga 1,2,3 in functie de nunarul instantei hMENU lansate, STATION devenind 11, 12, 13.
Code: Select all
rem varianta in care se pot lansa mai multe hmemu.bat pe o statie
rem lansati hmenu s sau hmenu s $
rem unde s (1 cifra sau litera) este identificatorul statiei
if not "%1"=="" goto Lansare
echo.
echo *** Lansati hmenu.bat s
echo *** s este identificatorul statiei: 1 cifra/litera
echo.
pause
goto Sfarsit
...
rem Setare STATION
set STATION=0%1
:Smf1
if exist TMP\1%1.smf goto Smf2
set STATION=1%1
echo 1%1 > TMP\1%1.smf
goto SmfN
:Smf2
if exist TMP\2%1.smf goto Smf3
set STATION=2%1
echo 2%1 > TMP\2%1.smf
goto SmfN
:Smf3
if exist TMP\3%1.smf goto Smf4
set STATION=3%1
echo 3%1 > TMP\3%1.smf
goto SmfN
:Smf4
cls
echo.
echo.
echo *** Nu mai sunt STATION libere pentru lansare hMENU.
echo *** Iesiti din toate aplicatiile HAMOR Soft si reporniti !
echo.
echo.
del /Q TMP\*.smf
pause
goto Sfarsit
:SmfN
echo Statia curenta:%STATION%
...
:SfrCiclu
rem sterge semafor statie
del /Q TMP\%STATION%.smf