![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() У меня вопрос, делал синхронизацию(synchronize) при работе с Label и memo из потока, но все равно баги были страшные пришлось убрать, с чем могло быть связанно? не из за того что в этот момент могла быть работа из основного кода с этим же memo?
|
#2
|
|||
|
|||
![]() сомнительно, этот метод как раз и предназначен для того, что бы основной поток и дополнительный не мешались. Вообще, для синхронизации преднвзначен объект TCriticalSection.
|
#3
|
||||
|
||||
![]() показал бы "не правильно работающий код" с Synchronize?
Пишу программы за еду. __________________ |
#4
|
||||
|
||||
![]() Код:
addmesseg:='(' + DateTimeToStr(Now()) + ') '+'отправлен запрос в плагин=> '+ UIN; Memo2.Lines.Add(addmesseg); writeln(logfile1,addmesseg); inc(statistik1); Label1.Caption:=IntToStr(statistik1); @plugExec := GetProcAddress(PPluginInfo(listKomand.Items[n1])^.handle,'PluginExec'); Result:=PlugExec(UIN, Msg,PPluginInfo(listKomand.Items[n1])^.Index); i:=random(10); case i of 0: ; 1: Result:=Result+#10#13+rekl1.text; 2: Result:=Result+#10#13+rekl2.text; 3: Result:=Result+#10#13+rekl3.text; 4: Result:=Result+#10#13+rekl4.text; 5: Result:=Result+#10#13+rekl5.text; 6: Result:=Result+#10#13+rekl6.text; 7: Result:=Result+#10#13+rekl7.text; 8: Result:=Result+#10#13+rekl8.text; 9: Result:=Result+#10#13+rekl9.text; end; form1.MessageSend(UIN,Result,nomer); ну и в программе этот поток ежесекундно раз по 3-5 вызывался изначально все было нормально, через минут 5 потом "началось" |
#5
|
||||
|
||||
![]() а если оставить только это:
Код:
var addmesseg: String; begin addmesseg:='(' + DateTimeToStr(Now()) + ') '+'отправлен запрос в плагин=> 100'; Memo2.Lines.Add(addmesseg); // writeln(logfile1,addmesseg); // inc(statistik1); Label1.Caption:=IntToStr(99); end; Пишу программы за еду. __________________ |
#6
|
||||
|
||||
![]() не знаю, такое не могу протестировать с той нагрузкой с которой должно работать.
|