problem z procedurami

0

Mam nadzieję, że nie namieszam i ktoś zrozumie o co mi chodzi. Jak zrobić, aby uruchominie jednej procedury wykluczyło uruchomienie drugiej tzn. jeśli uruchomi się pierwsza to nie uruchomi się druga a jeśli pierwsza się nie uruchomiła to druga się uruchomi. No trochę bełkot ale nie umiem inaczej powiedzieć o co mi chodzi.

0

Po prostu nie wywołuj ich naraz. A jeśli procedury są wywoływane jakimiś zdarzeniami, np. komunikatami, to możesz zrobić coś w tym rodzaju:

var
procedura:byte;

procedure procedura1;
begin
if procedura=2 then
exit;
procedura:=1

//kod

procedura:=0;
end;

procedure procedura2;
begin
if procedura=1 then
exit;
procedura:=2

//kod

procedura:=0;
end;

0

Dzięki, tak to jest kombinujesz kombinujesz a możesz zrobić to bardzo prosto :-)

0

o stary za taki e rozwiazanie na programowaniu rownoleglym dostalbys buta jak stad do wladywostoku ;)

oczywiscie jak to jest soft robiony do domu to moze tak dzialac. jednak formalnie rzecz biorac rozwiazanie jest do kosza.
NIE MA GWARANCJI ZE TO ZAWSZE ZADZIALA !!!

jak Ci sie bedzie sypac raz na rok to poszukaj czegos o monitorach/obiektach chroninych w delphi. (chyba jest cos takiego? a przynajmniej powinno - nie wymiatam jeszcze w delphi ;)

0

Można też zmienną globalną typu proceduralnego, do której się przypisuje potrzebną procedurę i tylko ona może być uruchomiona po wywołaniu nazwy zmiennej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1