Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.399 c
15-1328797365
Empleado
2012-02-09 18:22
2013.03.22
Billiards masters


15-1333518462
AlexKniga
2012-04-04 09:47
2013.03.22
Непонятные сайты на первых местах гугля


2-1332258565
Сергей
2012-03-20 19:49
2013.03.22
Как добавить новое поле в таблицу Oracle с помощью dbExpress?


15-1349898544
RTF
2012-10-10 23:49
2013.03.22
Протестить флешку


2-1347519862
MsGuns
2012-09-13 11:04
2013.03.22
Колонка для "птичек" в гриде.





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