Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.066 c
2-1157419680
Ref
2006-09-05 05:28
2006.09.24
Excel


2-1157365735
Calibr
2006-09-04 14:28
2006.09.24
Zoom?


15-1157389775
RaZ
2006-09-04 21:09
2006.09.24
Сделать полезную программу.


2-1157383893
pathfinder
2006-09-04 19:31
2006.09.24
Сохранение настроек приложения в файле.


15-1157558537
AlexanderMS
2006-09-06 20:02
2006.09.24
Настройка почты.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский