Mai multe ferestre de programe HAMOR Soft simultan

Moderator: HAMOR

Post Reply
imre.bodosi
Site Admin
Posts: 456
Joined: 08 Dec 2011, 10:49

Mai multe ferestre de programe HAMOR Soft simultan

Post 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".
imre.bodosi
Site Admin
Posts: 456
Joined: 08 Dec 2011, 10:49

Re: Mai multe ferestre de programe HAMOR Soft simultan

Post 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
imre.bodosi
Site Admin
Posts: 456
Joined: 08 Dec 2011, 10:49

Re: Mai multe ferestre de programe HAMOR Soft simultan

Post 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
Post Reply