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

Вниз

Как в отдельном потоке вызвать функцию из основного без зависаний   Найти похожие ветки 

 
AlxAY   (2012-02-17 13:53) [0]

Пробовал по-разному:
procedure TMyThread.Execute;
begin
....
  Synchronize(Name(1, "строка")); //- так не компилируется
  // Form1.Name(1, "строка"); - так виснет выполнение данной функции
...
end;

function Form1.Name(X: integer; S: String): Integer;
begin
...
end;

Отдельно скопировать то-же самое для потока TMyThread, продублировать код Name(X:integer;S:String):Integer ? Или можно использовать одну function Form1.Name ???


 
Сергей М. ©   (2012-02-17 14:18) [1]

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


 
Ega23 ©   (2012-02-17 14:53) [2]

Синхронайзом пускается метод без параметров.


 
Dimka Maslov ©   (2012-02-17 15:10) [3]

можно ещё форме сообщение послать.


 
SMTP   (2012-02-17 20:38) [4]

А, простите, что есть "функция из основного"?


 
antonn ©   (2012-02-18 01:23) [5]


> SMTP   (17.02.12 20:38) [4]

там где VCL


 
Sha ©   (2012-02-18 01:42) [6]

IntToStr() там или не там?


 
antonn ©   (2012-02-18 01:56) [7]

Там конечно же. И больше нигде быть не может, поэтому желательно к ней обращаться через критическую секцию.
Крит. секция, кстати тоже там, поэтому к ней тоже нужно через отдельную синхронизацию обращаться. Только не очень часто - программа заболеть может от напряжения.

ЗЫ напряжение можно взять в розетке
ЗЗЫ розетка не в потоке, потому можно без синхронизации


 
_Юрий   (2012-02-19 09:57) [8]

Отправить форме сообщение
(PostMessage)
параметры передать через параметры сообщения



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

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

Наверх




Память: 0.48 MB
Время: 0.229 c
2-1330341762
kate158
2012-02-27 15:22
2013.03.22
выравнивание по ширине+абзац в qreport


15-1339316192
MastaK
2012-06-10 12:16
2013.03.22
Игра Sokoban


4-1260370228
Megavolt_Old
2009-12-09 17:50
2013.03.22
Чем принципиально отличаются эти два примера кода ...


15-1339959786
Artem
2012-06-17 23:03
2013.03.22
Pocket Fritz


8-1227539352
sh1k4r1
2008-11-24 18:09
2013.03.22
Подкинули задачку