Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизКак в отдельном потоке вызвать функцию из основного без зависаний Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.071 c