TEvent a "Acces violation error"

0

Witam,

Musze napisac aplikacje ktora w pewnym momencie bedzie musiala wyswietlic okienko dialogowe (inna formatka) z pewnymi opcjami a po wybraniu opcji i nacisnieciu przycisku OK kontynuowala dzialanie procedury z głównej formatki.

Postanowilem do tego celu uzyc komponentu TEvent i choc nigdy wczesniej z niego nie korzystalem to postanowilem ruszyc szare komorki i skorzystac z helpa.

Wiec w glownym okienku zainicjowalem obiekt TEvent:
[code]var
zdarzenie: TEvent;[/code]

następnie w OnCreate tej formatki wrzuciłem linię:
[code]Zdarzenie.create(nil,false,false,'zdarz');[/code]

A w okienku z opcjami w Button1.click dodałem linię:
[code]Zdarzenie.acquire;[/code]

No i na koniec dodałem fragment który w odpowiednim momencie wyswietla okienko z opcjami i czeka na wykonanie zdarzenia (nacisniecie przycisku Button1 na formatce z opcjami:
[code]PytFrm.Show;
zdarzenie.WaitFor(3600000);[/code]

Wszystko jest wg help'a (choc nie wiem czy dobrze wywoluje procedure TEvent.Create) ale właśnie po linii:
[code]Zdarzenie.create(nil,false,false,'zdarz');[/code]
wyskakuje mi błąd "Acces violation".

Co zrobiłem źle? I jak powinienem to zrobić by wszystko działało?

Z góry dziękuję za odpowiedz i pozdrawiam :)

Dawid 'Vade' Kopiec
[email protected]

0

Może:

Zdarzenie := TEvent.Create(nil,false,false,'zdarz');

0

Dziekuje, dziala :)

Wczesniej myslalem ze zapisy: Zdarzenie.create(nil,false,false,'zdarz'); i Zdarzenie:=TEvent.create(nil,false,false,'zdarz'); są sobie równoważne a to mnie zgubiło.

Teraz wyszło na jaw że nie jestem jeszcze zbyt dobrym programistą w Delphi [stuk]

Pozdrawiam

0

Teraz wyszło na jaw że nie jestem jeszcze zbyt dobrym programistą w Delphi [stuk]

Nie łam, się miałem identyczny problem z TRegistry - i też nie rozumiałem co robię źle :)

0

Program sie juz kompiluje i nie ma juz "Acces violation error" lecz wciaz mam problemy [stuk].

Program sie zawiesza podczas wyswietlania okienka z opcjami. Rysuje sie sama formatka, czesc przycisku i wtedy sie zawiesza :-( Dopiero gdy usune linijke:

zdarzenie.waitfor(3600000);

to sie przestaje zawieszac (ale wtedy nie czeka na nacisniecie klawisza).

Jak zrobic by program sie nie zwieszal i poprawnie czekal na wybranie opcji z pojawiajacego sie okienka?

Fragmenty kodu są w pierwszym Poscie na ten temat a gdyby ktos chcial caly kod programu to moge wyslac na maila.

Z gory dziekuje za pomoc,

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