Size: a a a

2021 January 25

AM

Artur Mustafin in Delphi & Lazarus
убей всех детей, в цикле, прости господи
источник

ea

eugene afx in Delphi & Lazarus
да вот делаю. разве что не совсем понимаю, как это правильно сделать
у меня в TList лежат адреса нодов
как их освобождать?
источник

ea

eugene afx in Delphi & Lazarus
FreeandNil? создавать темп и грохать? childs[i]:=nil; ?

не делал такое
источник

AK

Andy Korg in Delphi & Lazarus
eugene afx
ну вот я не делал, чтоб пробегалось. убиваю родительскую ноду, но в ней есть childs, которые хранят адреса дочерних нод
получается, что адреса убиваются, а сами эти ноды остаются замороженными и сжирают память?
Вам не хочется прочитать документацию по работе с узлам XML?
источник

ea

eugene afx in Delphi & Lazarus
причем тут xml
источник

AK

Andy Korg in Delphi & Lazarus
узлы XML это и есть ваши Node. Все ваши хотелки уже реализованы.
Но ок, если не хотите вникать в архитектуру работы с XML, посмотрите в сторону архитектуры работы с TComponent. Обратите внимание на свойство Owner
источник

ea

eugene afx in Delphi & Lazarus
ок спасибо
источник

AK

Andy Korg in Delphi & Lazarus
кстати дальше можно про дженерики почитать http://www.proghouse.ru/programming/49-delphi-generics
источник

ea

eugene afx in Delphi & Lazarus
"Начиная с версии 2009, "

у меня под 2007 код
источник

AS

Alexey Shumkin in Delphi & Lazarus
eugene afx
нужна помощь вселенского разума

 TNode = class
   public
   somedata:string;
   parent:TNode;
   childs:Tlist;
end;

var node:TNode;

создаю дерево, в childs вставляю адреса новых нод. и так далее. безразмерное дерево.
вопрос - если я сделаю node.free, то все ноды, занесенные в childs тоже освободятся или нужно всех по очереди очищать по одной, начиная с самой дальней?
BTW childs
child -> children
источник

UN

Ulugbek Nurjanov in Delphi & Lazarus
Привет всем
посоветуйте термо принтер который без проблем работает с Fast Reportом
источник

UN

Ulugbek Nurjanov in Delphi & Lazarus
мне надо для чека
источник

UN

Ulugbek Nurjanov in Delphi & Lazarus
буду отправить на печать через unigui
источник

Miss Очепятка... in Delphi & Lazarus
eugene afx
нужна помощь вселенского разума

 TNode = class
   public
   somedata:string;
   parent:TNode;
   childs:Tlist;
end;

var node:TNode;

создаю дерево, в childs вставляю адреса новых нод. и так далее. безразмерное дерево.
вопрос - если я сделаю node.free, то все ноды, занесенные в childs тоже освободятся или нужно всех по очереди очищать по одной, начиная с самой дальней?
Есть несколько методик.  Конкретно в этом примере  нужно очищать в ручную.  А так в Delphi есть RTI в котором предусмотрена сборка мусора.  Достаточно заменить TList на динамический массив array of TNode или на дженерик TList<TNode> последнее лучше всего и компилятор delphi сам освободит лишнее.
Классический подход это идеология RAII кто создал объект тот его и освобождает. Где создали в каком классе в том и освобождаете.
Альтернативный метод это отдать освобождение дереву.
источник

AK

Andy Korg in Delphi & Lazarus
Ulugbek Nurjanov
Привет всем
посоветуйте термо принтер который без проблем работает с Fast Reportом
дык при чем тут по? есть дрова на принтер - есть печать. нет дров нет печати.
источник

AK

Andy Korg in Delphi & Lazarus
Miss Очепятка
Есть несколько методик.  Конкретно в этом примере  нужно очищать в ручную.  А так в Delphi есть RTI в котором предусмотрена сборка мусора.  Достаточно заменить TList на динамический массив array of TNode или на дженерик TList<TNode> последнее лучше всего и компилятор delphi сам освободит лишнее.
Классический подход это идеология RAII кто создал объект тот его и освобождает. Где создали в каком классе в том и освобождаете.
Альтернативный метод это отдать освобождение дереву.
человек хочет на додженерековской версии дельфи это делать
источник

UN

Ulugbek Nurjanov in Delphi & Lazarus
Andy Korg
дык при чем тут по? есть дрова на принтер - есть печать. нет дров нет печати.
разные термо принтеры есть
который идет своим dll итд который надо написать команды
как приложение unigui который работает на веб я не могу контролировать принтер
по этому спросил принтер который без проблем работает установил драйвер и все хоть из excel, word печатает
источник

AK

Andy Korg in Delphi & Lazarus
Ulugbek Nurjanov
разные термо принтеры есть
который идет своим dll итд который надо написать команды
как приложение unigui который работает на веб я не могу контролировать принтер
по этому спросил принтер который без проблем работает установил драйвер и все хоть из excel, word печатает
и не надо контролировать принтер на веб. Этим занимается браузер.
источник

UN

Ulugbek Nurjanov in Delphi & Lazarus
да поэтому ищу нормальный принтер
заказали такой принтер
источник

UN

Ulugbek Nurjanov in Delphi & Lazarus
источник