tthread

    5熱度

    2回答

    我有一個的TThread對象,並希望能夠啓動/通過一個按鈕來停止線程程序的主要形式。我一直在尋找方法來做到這一點,到目前爲止,我有以下想法: 終止和釋放線程,當用戶單擊停止,並單擊開始時創建一個新的。 使用睡眠延遲線程(我不想這樣做) 有一個屬性是一個布爾值來確定線程是否暫停或不。 Execute中的代碼只有在此布爾值爲false時纔會發生。 我傾向於#3。在主窗體的TThread對象上設置布爾屬

    -1熱度

    1回答

    我想搜索所有子文件夾中的所有文件,所以它需要很長時間和應用程序停止響應,所以我用Thread(這是第一次與Threads工作)我讀了它,我發現這種方式來創建和執行線程,但是當我調用線程時什麼都沒有發生,我不明白爲什麼我不能在主窗體上使用添加的組件,我不得不重新聲明它? 我在這裏想念什麼? type TSearchThread = class(TThread) private

    0熱度

    3回答

    我一直在試圖設置FreeOnTerminate屬性在的OnTerminate程序,但它似乎像它要麼爲時已晚來設置它,或者它完全無視write程序。 我該如何設置/更改FreeOnTerminate屬性inOnTerminate程序? 是否有任何解決方法? 一些代碼: unit Unit2; interface uses Winapi.Windows, Winapi.Message

    8熱度

    1回答

    我想在線程中使用COM接口。從我讀過的內容來看,我必須在每個線程中調用CoInitialize/CoUninitialize。 雖然這是工作的罰款: procedure TThreadedJob.Execute; begin CoInitialize(nil); // some COM stuff CoUninitialize; end; 當我移動到構造函

    1熱度

    2回答

    我對如何在動態創建的TThread中存儲唯一標識符有一些學術興趣。 我創造這樣的事情: procedure TForm1.Button1Click(Sender: TObject); var thrn:word; begin for thrn := 0 to 5 do//<--- this is a loop variable that should give the unique numb

    0熱度

    2回答

    我無法按照它的工作方式。 首先是一個非常簡單的例子,以更好地解釋我的情況。 此代碼位於新項目中的新Form Form1中。其中mmo1是備忘錄組件。 TOb = class Name : String; constructor Create(Name : String); procedure Go(); end; procedure TOb.Go; begin

    5熱度

    1回答

    我有一個耗時的例程,我想用Delphi XE7的新並行庫並行處理。 這裏是單線程版本: procedure TTerritoryList.SetUpdating(const Value: boolean); var i, n: Integer; begin if (fUpdating <> Value) or not Value then begin f

    3熱度

    1回答

    My Environment: Rad Studio XE4 using C++ 我正在使用TThread的軟件工作。最近,我遇到了一個問題,在程序啓動後幾天,TThread突然被破壞。 在TThread中,線程使用Synchronize()方法更改窗體(例如TLables)的顯示。我想知道這可能會導致一些問題。 我在線程中的多個部分進行日誌記錄,以便我可以捕獲問題的原因。但是當我檢查日誌時,

    3熱度

    1回答

    我在Delphi中遇到了一些問題。 我寫使截圖兩個簡單的功能,將其轉換爲JPEG和解碼爲base64,流。 它的作品不錯,如果我在主流程序上製作。但是,如果我創建一個TThread類並啓動此功能執行,Windows凍結,我只能重新啓動我的電腦。 通過多次嘗試,我發現掛起電腦通過程序JpegImg.SaveToStream(Input); 如果我不轉換位圖爲JPEG,其作品很好,我得到的圖像字符串。

    1熱度

    1回答

    我的工作是記錄我的應用程序日誌保存至文件TLogger類... 我必須得到從文件記錄到TMemo方式: 1.分配TMemo到TLogger類,然後將True分配給DisplayInMemo屬性,然後調用GetLogFromFile(); 2.調用GetLogsFromFile();然後Self.Memo1.Text:= TLogger.LogsResult; ...下面評論的解決方案正常工作...