Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


AlxAY ©   (2012-02-17 13:53:00) 

Пробовал по-разному:
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-19 09:57:00) [1]

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


antonn   (2012-02-18 01:56:00) [2]

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

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


Sha   (2012-02-18 01:42:00) [3]

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


antonn   (2012-02-18 01:23:00) [4]


> SMTP   (17.02.12 20:38) [4]

там где VCL


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

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


Dimka Maslov   (2012-02-17 15:10:00) [6]

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


Ega23   (2012-02-17 14:53:00) [7]

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо