2009-01-09 16 views
8

मैं थ्रेड शुरू करने और कार्य करने के लिए अक्सर सी # BackgroundWorker ऑब्जेक्ट का उपयोग करता हूं। डेल्फी में एक ही चीज़ को पूरा करने का सबसे आसान तरीका क्या है? प्रिमोज़ Gabrijelcic द्वारा OmniThreadLibrary मेंडेल्फी में सी # के पृष्ठभूमिवर्कर को लागू करने का सबसे अच्छा तरीका क्या है?

private void button1_Click(object sender, EventArgs e) 
{ 
    BackgroundWorker bg = new BackgroundWorker(); 
    bg.DoWork += new DoWorkEventHandler(bg_DoWork); 
    bg.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bg_RunWorkerCompleted); 
    test_number++; 
    object[] arguments = { "test", test_number }; 
    bg.RunWorkerAsync(arguments); 
} 

void bg_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) 
{ 
     // done. 
} 

void bg_DoWork(object sender, DoWorkEventArgs e) 
{ 
    // do actual work here 
} 

उत्तर

16

देखो, या AsyncCalls में एंड्रियास Hausladen, जो दोनों आप इसी तरह की सुविधा देना चाहिए द्वारा:

यहाँ सी # में कुछ कोड है।

1

अपने समाधान के लिए यह है: delphi-components/backgroundworker इस घटक सी # BackgroundWorker की घटना, संपत्ति आदि

+0

की तरह क्यों '(:' इस घटक के साथ कुछ समस्या है – Johan

+0

कोई नहीं, कोई समस्या नहीं इस घटक, इस कारण मेरी पहला जवाब ठीक है? –

+0

+1 मुझे इस घटक को नहीं पता है, लेकिन इस तथ्य को देखते हुए कि इसका स्रोत कोड है, ऐसा लगता है कि आप कोशिश कर सकते हैं। – Johan

संबंधित मुद्दे

 संबंधित मुद्दे