powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / 2 цикла в потоке сжирают память
41 сообщений из 41, показаны все 2 страниц
2 цикла в потоке сжирают память
    #39580404
Sergey-2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток,
имеется поток, который каждые 10 сек, читает лог.
В нем имеется 2 цикла, которые анализируют последнюю строку лога, и выделяют из нее значения нужных мне параметров (для отображения их в программе). И как показали опыты, эти циклы почему-то сжирают память (если их закоментировать то с память сжираться не будет)
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
procedure TFileReadThread.UpdTemp1;
begin
  FMain.edTemp1.Clear;
  FMain.edTemp1.Text := Pr_ValTemp;
end;
 
procedure TFileReadThread.CLEAR_VALUE_VIDEO;  
begin
  Pr_ValGPU := '';
  Pr_ValTemp := '';
  Synchronize(UpdGPU0);
  Synchronize(UpdTemp0);
  Synchronize(UpdGPU1);
  Synchronize(UpdTemp1);
end;
 
procedure TFileReadThread.Execute;
var
  LFile: TStringList;
  w, LIndex, LIndex1, LNumGPU, L_Length: integer;
  q, LValue, LStringParams: string;
  LValueTrue: boolean;
begin
  while not Terminated do
  begin
    try
      CLEAR_VALUE_VIDEO;
      Pr_Status := 'File begin reading';
      Pr_Status_Color := clGreen;
      Synchronize(UpdStatus);
 
      LFile := TStringList.Create;
      LFile.LoadFromFile(PathFile);  
//q:=LFile.Strings[1];                                  
//w:=LFile.Count;
      L_Length := LFile.Count-1;
      LStringParams := '';
      LValueTrue := false;
      LValue := '';
      LNumGPU := 0;
 
      for LIndex := L_Length downto 0 do
        if Pos('GPU0', LFile.Strings[LIndex]) <> 0 then
        begin
          LStringParams := LFile.Strings[LIndex];
          for LIndex1 := 0 to length(LStringParams) do
          begin
            if (LStringParams[LIndex1] in ['0'..'9']) then
              LValue := LValue+LStringParams[LIndex1]
            else
              if ((LStringParams[LIndex1] = '.')
                or (LStringParams[LIndex1] = ','))
                and (LValue <> '') then
              begin
                LValue := LValue+'.';
                LValueTrue := true;
              end
              else 
              begin
                if (LStringParams[LIndex1] = ' ')
                  and (LValueTrue) then
                begin
                  if (FMain.edGPU0.Text = '')
                    and (LNumGPU = 0) then
                    begin
                      Pr_ValGPU := LValue;
                      Synchronize(UpdGPU0);   
                    end;
                  if (FMain.edGPU1.Text = '')
                    and (LNumGPU = 1) then
                    begin
                      Pr_ValGPU := LValue;
                      Synchronize(UpdGPU1);   
                    end;
                  inc(LNumGPU);  
                end  
                else LValueTrue := false;
                LValue := '';  
              end;
          end;  
          break;
        end;
 
      LValue := '';
      LNumGPU := 0;
      for LIndex := L_Length downto 0 do
        if Pos('GPU0 t=', LFile.Strings[LIndex]) <> 0 then
        begin
          LStringParams := LFile.Strings[LIndex];
          for LIndex1 := 0 to length(LStringParams) do
          begin
            if (LStringParams[LIndex1] in ['0'..'9']) then
              LValue := LValue+LStringParams[LIndex1]
            else
              begin
                if (LStringParams[LIndex1] = 'C') then
                begin
                  if (FMain.edTemp0.Text = '')
                    and (LNumGPU = 0) then
                    begin
                      Pr_ValTemp := LValue;
                      Synchronize(UpdTemp0);   
                    end;
                  if (FMain.edTemp1.Text = '')
                    and (LNumGPU = 1)  then
                    begin
                      Pr_ValTemp := LValue;
                      Synchronize(UpdTemp1);   
                    end;
                  inc(LNumGPU);  
                end  
                else LValueTrue := false;
                LValue := '';  
              end;
          end;  
          break;
        end;
 
        Pr_Status := 'File end reading';
        Pr_Status_Color := clGreen;
        Pr_Sleep := IntToStr(ASleep);
//        ASleep := ASleep*1000;
        Synchronize(UpdStatus);
 
        FreeAndNil(LFile);
    except
    on E: Exception do
      begin
        Pr_Status := 'Not access to file';
        Pr_Status_Color := clRed;
        Synchronize(UpdStatus);
        FreeAndNil(LFile);
      end
    end;
  end;  
end;


что в этих циклах может память не отдавать... теряюсь в догадках

Заранее спасибо за ответ
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580410
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey-2008что в этих циклах может память не отдавать... теряюсь в догадках

FastMM + FullDebugMode помогут найти ответ на этот вопрос.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580413
Sergey-2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да еще если поток зациклить, то окажеться что с памятью будет все норм., т.е. программа ее не будет захламлять
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580414
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey-2008,

кода мало.
Например, ты в цикле обращаешься к CLEAR_VALUE_VIDEO, в которой сбрасываешь строки:

Код: pascal
1.
2.
  Pr_ValGPU := '';
  Pr_ValTemp := '';


Что за Pr_ValGPU, Pr_ValTemp? Если это - "глобальные" переменные, живущие вне контекста нити - вот тебе и утечка.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580430
Sergey-2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чччД,

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
type
  TFileReadThread = class(TThread)
    private
    { Private declarations }
  protected
    Pr_Sleep, Pr_ValTemp0, Pr_ValTemp1, Pr_ValGPU0, Pr_ValGPU1, PathFile, Pr_Status: string;
    Pr_Status_Color: TColor;
    ASleep: integer;
    procedure Execute; override;
    procedure CLEAR_VALUE_VIDEO;
    procedure EDIT_VALUE_VIDEO;
    procedure UpdErrStatus;    
  public

    constructor Create(APathFile: String;
                       A_Sleep: integer);      
  end;
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580432
Sergey-2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но в "Pr_ValTemp", "Pr_ValGPU" хранятся только цифры
Каждый раз при выполнени потока, память увеличивается на 100КБ. (всего я храню в переменных 4 числа)
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580441
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey-2008имеется поток, который каждые 10 сек, читает лог.
а где в приведенном коде участок, который подтверждает данное заявление?

я к тому, что цикл без слипа
Код: pascal
1.
2.
3.
4.
while True do
begin
//sleep(1000);
end;


весьма чувствительно напрягает ЦП даже при единственном запущенном доп.потоке. Если же их запустить несколько, то там будет еще интереснее
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580445
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

похоже, ТС исследует уязвимость типа Meltdown. :)
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580471
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

ТС, похоже, только начал изучать потоки. До сообщений в основной поток пока не дошел. Видишь, как Synchronize интенсивно использует. Следующим этапом будет попытка использовать компонент wadman'а :)
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580483
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
а вот тут явно не с нуля надо индекс перебирать

Код: pascal
1.
2.
3.
  for LIndex1 := 0 to length(LStringParams) do
          begin
            if (LStringParams[LIndex1] in ['0'..'9']) then
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580504
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey-2008
Код: pascal
1.
while not Terminated do

Terminate не обнаружено
Sergey-2008имеется поток, который каждые 10 сек, читает лог.Никакой приостановки потока тоже не обнаружено.

Не создаете ли Вы каждые 10 секунд новый поток?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580528
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey-2008,

1. Удаляй созданные объекты всегда строго в try-finally;
2. Полностью откажись от synchronize.

Потом можно будет дальше говорить.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580564
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock2. Полностью откажись от synchronize.
Кстати, а чем вы так синхронайз не любите? Они же вроде, в последних версиях, их переделали?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580569
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
alekcvpYuRock2. Полностью откажись от synchronize.
Кстати, а чем вы так синхронайз не любите? Они же вроде, в последних версиях, их переделали?
но осадочек остался (с)

P.S. Я пользуюсь синхронайзом без зазрения совести, если вижу в нём необходимость.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580573
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpа чем вы так синхронайз не любите?

Его ограниченность на запуск методом без параметров и отсутствие возможности вернуть
результат лично меня напрягают. Глобальные переменные (даже локально-глобальные поля
класса) - зло.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580581
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Dimitry Sibiryakovalekcvpа чем вы так синхронайз не любите?

Его ограниченность на запуск методом без параметров и отсутствие возможности вернуть
результат лично меня напрягают. Глобальные переменные (даже локально-глобальные поля
класса) - зло.
глобальные переменные, "запуск методом без параметров" и "отсутствие возможности вернуть
результат" намешал опять в одну кучу ?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580583
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну смотри: когда я использую SendMessage, то могу ему прямо передать два параметра и прямо
же вернуть число. Synchronize так не может, приходится использовать методы с побочными
эффектами и передавать значения через поля класса.
Когда я использую PostMessage, то работа продолжается без ожидания, чего Synchronize опять
же не может.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580591
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

так ты не передавай, кто мешает в стэке выделить?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580593
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Dimitry SibiryakovНу смотри: когда я использую SendMessage, то могу ему прямо передать два параметра и прямо
же вернуть число. Synchronize так не может, приходится использовать методы с побочными
эффектами и передавать значения через поля класса.
Когда я использую PostMessage, то работа продолжается без ожидания, чего Synchronize опять
же не может.
ну есть же разные необходимости синхронизации

например, в системе видеонаблюдения надо пинговать камеры на их присутствие.
пропадание видеопотока с камеры не говорит о том, что камеры нет в сети
может быть, надо просто перезапросить поток.

пинг вещь длинная, городить вокруг этого SendMessage-PostMessage нет смысла
если раз в пять секунд произойдёт Synchronize от пинговального потока,
нет ничего страшного.

Это я просто пример привёл, если что
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580594
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorЭто я просто пример привёл, если что

Забавно, что ты привёл как раз пример, где ни Synchronize, ни любая другая синхронизация
вообще не требуются.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580597
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Dimitry SibiryakovdefecatorЭто я просто пример привёл, если что

Забавно, что ты привёл как раз пример, где ни Synchronize, ни любая другая синхронизация
вообще не требуются.
с твоей точки зрения - не требуется
с моей точки зрения - требуется.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580686
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorесли раз в пять секунд произойдёт Synchronize от пинговального потока,
нет ничего страшногоИ чем этот пинговальный поток будет лучше таймера в главном потоке? Названием только красивым.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580692
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
YuRockdefecatorесли раз в пять секунд произойдёт Synchronize от пинговального потока,
нет ничего страшногоИ чем этот пинговальный поток будет лучше таймера в главном потоке? Названием только красивым.
за 5 секунд произойдёт десяток попыток пинга внутри потока,
а результат вылезет наружу только раз в пять секунд.

Зачем главному потоку вообще знать о том, что там что-то такое постоянно работает ?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580695
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpYuRock2. Полностью откажись от synchronize.
Кстати, а чем вы так синхронайз не любите? Они же вроде, в последних версиях, их переделали?Не знаю, что там сейчас, но тем, что до D7, пользоваться было нельзя по большому ряду причин. К счастью, в этом и нет никакой необходимости.
Стандартный набор граблей synchronize можно увидеть и самому, посмотрев реализацию, ну например:
1. Вызов synchronize навсегда зависнет, если его вызвать до Application.Run;
2. Навсегда зависнет, если вообще и не планировался вызов Application.Run (dll, консоль,...);
3. Навсегда зависнет, если работает еще один цикл обработки сообщений, запущенный при обработке сообщения в Application.Run;
4. Невозможность управления потоками, висящими на synchronize. Другие методы синхронизации дают такую возможность.

Первые три пункта далеко не всегда зависят от разработчика. Поэтому если кто-то наговнокодил с synchronize - другим приходится мучиться или переделывать.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580697
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorYuRockпропущено...
И чем этот пинговальный поток будет лучше таймера в главном потоке? Названием только красивым.
за 5 секунд произойдёт десяток попыток пинга внутри потока,
а результат вылезет наружу только раз в пять секунд.

Зачем главному потоку вообще знать о том, что там что-то такое постоянно работает ?Я думал у тебя сам пинг в синхронайз делается раз в пять секунд.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580698
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
YuRockalekcvpпропущено...

Кстати, а чем вы так синхронайз не любите? Они же вроде, в последних версиях, их переделали?Не знаю, что там сейчас, но тем, что до D7, пользоваться было нельзя по большому ряду причин. К счастью, в этом и нет никакой необходимости.
Стандартный набор граблей synchronize можно увидеть и самому, посмотрев реализацию, ну например:
1. Вызов synchronize навсегда зависнет, если его вызвать до Application.Run;
2. Навсегда зависнет, если вообще и не планировался вызов Application.Run (dll, консоль,...);
3. Навсегда зависнет, если работает еще один цикл обработки сообщений, запущенный при обработке сообщения в Application.Run;
4. Невозможность управления потоками, висящими на synchronize. Другие методы синхронизации дают такую возможность.

Первые три пункта далеко не всегда зависят от разработчика. Поэтому если кто-то наговнокодил с synchronize - другим приходится мучиться или переделывать.
какие страсти-то ))))
а ведь работало и работает
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580700
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock3. Навсегда зависнет, если работает еще один цикл обработки сообщений, запущенный при обработке сообщения в Application.Run;*
Не через делфовый HandleMessage.
Либо через него, но из dll.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580701
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorкакие страсти-то ))))
а ведь работало и работаетУгу. Достаточно часто.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580704
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
YuRockdefecatorкакие страсти-то ))))
а ведь работало и работаетУгу. Достаточно часто.
не буду спорить
у каждого свой опыт
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580716
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть же ещё асинхронный метод TThread.Queue . Сам его вроде не использовал, обычно посылаю сообщения, но кто-то в этом форуме (Дельфи) его несколько раз упоминал, я собственно так и узнал о его существовании.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580736
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s62Есть же ещё асинхронный метод TThread.Queue . Сам его вроде не использовал, обычно посылаю сообщения, но кто-то в этом форуме (Дельфи) его несколько раз упоминал, я собственно так и узнал о его существовании.Я упоминал. Хорошая замена из коробки synchronize-ам и PostMessage-ам в 90% случаев. Используется в наших визуальных компонентах.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580764
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger,

из минусов - несинхронная. не всегда удобно.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580765
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любую несинхронную вещь можно сделать синхронной. Обратное сделать сложнее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39580840
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При выполнении в главном потоке насколько я понимаю, Queue выполняется сразу как обычный кусок кода.
А несинхронность это как раз и есть то, для чего это используется, не?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581084
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s62Есть же ещё асинхронный метод TThread.Queue
Не смотрел. Подозреваю, что это тот же Synchronize, только без ожидания выполнения. Т.е. те же грабли, только без зависания потоков при наступлении на них - просто код не выполнится никогда.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581101
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRocks62Есть же ещё асинхронный метод TThread.Queue
Т.е. те же грабли, только без зависания потоков при наступлении на них - просто код не выполнится никогда.
Посмотрел код Synchronize в XE2 - вообще не понял, каким образом он может зависеть от Application.Run, в отличие от того же SendMessage...
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581114
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpYuRockпропущено...

Т.е. те же грабли, только без зависания потоков при наступлении на них - просто код не выполнится никогда.
Посмотрел код Synchronize в XE2 - вообще не понял, каким образом он может зависеть от Application.Run, в отличие от того же SendMessage...
Плохо ведь смотрел... А в Forms.TApplication.Idle заглядывал? А в Classes.CheckSynchronize?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581117
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

думаю, что PostMessage или Synchronize будет проще чем TThread.Queue + 'ручная' синхронизация. случаи, конечно, всякие бывают.
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581159
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО, вообще корявые методы, и либо название неправильное дали или запихнули не туда

проектировщику оторвать бы руки, а может быть и ноги и местами поменять, что бы осознал что натворил ...
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581236
kealon(Ruslan)проектировщику оторвать бы руки, а может быть и ноги и местами поменять, что бы осознал что натворил ...
имхо, в последнее время половина топиков в этой ветке заканчивается именно этими выводами. Неужели все так плохо?
...
Рейтинг: 0 / 0
2 цикла в потоке сжирают память
    #39581250
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оторванные рукиkealon(Ruslan)проектировщику оторвать бы руки, а может быть и ноги и местами поменять, что бы осознал что натворил ...
имхо, в последнее время половина топиков в этой ветке заканчивается именно этими выводами. Неужели все так плохо?
Ну так это вполне логично. Ведь Дельфи давно мёртв (с).
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / 2 цикла в потоке сжирают память
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]