Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.972 c
15-1157272702
Проггер из библиотеки
2006-09-03 12:38
2006.09.24
Глюки в программах


15-1157009903
tsa
2006-08-31 11:38
2006.09.24
Гугле десктопные гаджеты фигня!!


15-1157330799
SerJaNT
2006-09-04 04:46
2006.09.24
Загадка


15-1157135123
Nic
2006-09-01 22:25
2006.09.24
ИБП?


2-1157266025
Mozgan
2006-09-03 10:47
2006.09.24
Случайные числа




   Наверх