Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Ошибка во время выполнения потока   Найти похожие ветки 

 
bober   (2006-05-21 13:23) [0]

Привет

Хочу сделать выезжающее из трея popup-окно.
Во время выполнения потока возникает ошибка
Access violation и отладчик останавливается в юните Variants

procedure _VarToLStr(var S: string; const V: TVarData);
begin
 case V.VType of // вот на этой строке


подскажите где может быть ошибка, а то чтото не врубаюсь

Функцию которая двигает формой создаю в отдельном потоке вот так:

procedure TfrmInputPopup.AnimateShow;
begin
 Show;
 CreateThread(nil, 0, @AnimatePopup, Self, 0, FAnimateThreadHandle);
end;


Сама функция вот:

function AnimatePopup(FormHandle: Pointer): integer; stdcall;
var
 i, StepsNumber, OffsetRate, PrevCounterVal: integer;
begin
 StepsNumber := 30;
 with TfrmInputPopup(FormHandle) do
 begin
   OffsetRate := Height div StepsNumber;
   PrevCounterVal := ClientForm.Counter;
   i := 0;
   while i < StepsNumber do
   begin
     while PrevCounterVal = ClientForm.Counter do ;
     PrevCounterVal := ClientForm.Counter;
     EnterCriticalSection(CritSection);
     Top := Top - OffsetRate;
     Refresh;
     LeaveCriticalSection(CritSection);
     inc(i);
   end
 end
end;

Надеюсь этого достаточно

Заранее спасибо


 
Leonid Troyanovsky ©   (2006-05-21 18:01) [1]


> bober   (21.05.06 13:23)  

> Функцию которая двигает формой создаю в отдельном потоке


Манипулировать формой во отдельном потоке в дельфи заказано.

--
Regards, LVT.


 
bober   (2006-05-21 19:10) [2]

Leonid Troyanovsky

>
> Манипулировать формой во отдельном потоке в дельфи заказано.
>

В каком смысле запрещено? Не рекомендуется, нарушает какие-то правила, соглашения? Можно поподробнее пожалуйста?

Функция эта делает то что я хочу(т.е. форма выезжает), только где-то в 1 случае из 3-х возникает ошибка.


 
Leonid Troyanovsky ©   (2006-05-21 20:01) [3]


> bober   (21.05.06 19:10) [2]

> > Манипулировать формой во отдельном потоке в дельфи заказано.

> В каком смысле запрещено? Не рекомендуется, нарушает какие-
> то правила, соглашения?


Соглашение одно - манипулирует формами только первичный поток.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
2-1157649876
dexer
2006-09-07 21:24
2006.09.24
динамический TEdit и onkeyDown


15-1157017584
BorisMor
2006-08-31 13:46
2006.09.24
Скорось приложений


1-1155292500
Lkan
2006-08-11 14:35
2006.09.24
html без тегов


3-1153135691
Term
2006-07-17 15:28
2006.09.24
Обработка собитий в Rave reports


15-1157536144
Андрей Пазик
2006-09-06 13:49
2006.09.24
Когда будет rss на сайте?