घर
Top.Mail.Ru Yandeks.Metrika
मंच: "मुख्य";
वर्तमान संग्रह: 2002.04.01;
डाउनलोड करें: [xml.tar.bz2];

नीचे

TThread इसी तरह की शाखाएँ खोजें


lipskiy   (2002-03-20 20:32) [0]

Почему нельзя параметром Synchronize указать процедеру с параметрами? Это очень неудобно - нужно работать через глобальные переменные. Почему? Нельзя ли все таки сделать вызов с параметрами?



Юрий Зотов   (2002-03-20 20:44) [1]

Потому что так сделано. А глобальные переменные совершенно не обязательны. В хелпе есть пример.

procedure TMyThread.MyMethod;
शुरू करना
AnyMetod(AnyParamList); // Вот оно - любой список параметров
अंत;

प्रक्रिया TMyThread.Execute;
शुरू करना
...
Synchronize(MyMethod);
...
अंत;



lipskiy   (2002-03-20 20:50) [2]

Кхм... Это понятно.
Но вот, в моем случае все выглядит примерно так.
В Execute выполняется довольно длинный неразветвленный и нециклический код. Просто последовательность операций. Между этими операциями мне нужно печатать результат на главную форму. Естественно, эти промежуточные результаты возникают только внутри Execute.
Так что делать в этом случае?



Набережных С.   (2002-03-20 21:31) [3]

Выделяй динамически память под структуру или переменные и указатель отсылай через SendMessage, PostMessage или Synchronize.
Другой вариант - буфер с синхронизацией. Есть и другие варианты, например COM.



vuk   (2002-03-20 21:48) [4]

Не знаю, кто как, но я бы пошел совсем другим путем. Правда, немного сложнее получается.
Все параметры, которые нужны форме для отображения результата упаковываются в структуру (запись или объект). Потом создается список (TThreadList), который служит "буфером" и в который поток складывает результаты своей работы. Также у потока есть Handle формы, которой он посылает сообщение сразу как только добавляется элемент в список. Форма же, получив сообщение, выбирает элементы из списка, отображает их и затем удаляет.



lipskiy   (2002-03-20 21:53) [5]

Черт, хорошо быть умным...
Не понимаю я этого всего... (пока)
Ну да ладно, спасибо и на том, буду разбираться.
Просто мой уровень ниже изложенных вами предложений.



Набережных С.   (2002-03-20 21:55) [6]


> vuk © (20.03.02 21: 48)

"Другим путем" - в каком смысле?
देखना > Другой вариант - буфер с синхронизацией




vuk   (2002-03-20 21:59) [7]

नबेरेझीने एस को।:
>"Другим путем" - в каком смысле?
Звиняюсь, проглядел. :o(
Ну да хуже от этого никому не стало. :o)



Набережных С.   (2002-03-20 22:05) [8]

Я тоже извиняюсь - зря написал.



पन्ने: 1 पूरी शाखा

मंच: "मुख्य";
वर्तमान संग्रह: 2002.04.01;
डाउनलोड करें: [xml.tar.bz2];

ऊपर









मेमोरी: 0.57 एमबी
समय: 0.023 c
3-55
कैफ
2002-03-07 14:19
2002.04.01
क्या मैं यूडीएफ का उपयोग किए बिना एक स्ट्रिंग ट्रिम कर सकता हूं?


1-202
ब्याज
2002-03-20 08:55
2002.04.01
बचाने के लिए चर, और स्टार्टअप पर वापसी


7-326
Linx
2001-12-21 01:09
2002.04.01
वर्चुअल प्रिंटर


1-191
Smok_er
2002-03-19 02:17
2002.04.01
स्ट्रिंग पार्सर


3-36
TYuri
2002-03-07 10:26
2002.04.01
मदद, तुरंत मदद चाहिए!





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский