Главная страница
    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.033 c
2-1157106503
lorn
2006-09-01 14:28
2006.09.24
прибавить время к дате


3-1153581298
Mike Kouzmine
2006-07-22 19:14
2006.09.24
Установить генератор


15-1157100888
Dbn
2006-09-01 12:54
2006.09.24
С праздником, друзья!


1-1155022644
fishka
2006-08-08 11:37
2006.09.24
TIdPOP3 .Connect - ошибка Thread creation error. Not...


2-1156748315
XTD
2006-08-28 10:58
2006.09.24
Вопрос по компоненте ТcoolTrayIcon





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский