169 похожих чатов

Ээээ. TVT целиком на событиях. Что там "фрикать"?

7 ответов

14 просмотров

Вы совершенно правы. Ломается со второго вызова в демке procedure TDrawTreeForm.VDT1FreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode); var Data: PShellObjectData; begin Data := Sender.GetNodeData(Node); Data.Image.Free; Finalize(Data^); // Clear string data. end;

Катерина Свиридова
Вы совершенно правы. Ломается со второго вызова в ...

Катюш, мне кажется, ты погорячилась. Не знаю, чо там в демках (я так и не смог выпилить встроенный vtv из Лазаря, а сторонние на ем не запускаются), но мануала для начала хватило, а потом понятна стала логика. Да и исходники там хорошо конспектированы https://wiki.freepascal.org/VirtualTreeview_Example_for_Lazarus/ru

Ed Doc
Катюш, мне кажется, ты погорячилась. Не знаю, чо т...

Да особо и не настаиваю, компонента мне понравилась, я сразу сказала. С dfm ситуация сильно напомнола unigui, там часто в динамике что-то не получается сделать и либо делается через JS. А вот сделанное в дизайнере работает. Но тут ситуация понятна. За ссылочку спасибо. Попутный вопрос. Увидела procedure TForm1.VSTFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode); var Data: PTreeData; begin Data := VST.GetNodeData(Node); if Assigned(Data) then begin Data^.Column0 := ''; Data^.Column1 := ''; Data^.Column2 := ''; end; end; А в демке используется Finalize(Data^); // Clear string data. В Лазарусе Finalize нет? Я вообще эту процедуру вижу в первый раз

Катерина Свиридова
Да особо и не настаиваю, компонента мне понравилас...

Finalize должен работать, просто автор оригинальной статьи решил все ручками сделать. И я бы тоже предпочел этот способ для надёжности Потому что у меня в структуре и указатели, и пользовательские типы используются

Ed Doc
Finalize должен работать, просто автор оригинально...

финализе какраз будет понадежнее шаловливых ручек

Я всегда утюг отключаю руками. не надеясь на УЗО :)

Ed Doc
Я всегда утюг отключаю руками. не надеясь на УЗО :...

ну, из розетки - так это и есть финализе. а ты еще кабель на вводе в дом клещами реж, для надежности))

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
@FAssembler ты много с формами работал, как цикл обработки сообщений от окошек надо делать, чтобы IsDialogMessage не ломал ввод в эдиты и навигация по табам работала?
The Bird of Hermes
8
Карта сайта