Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 18.07.2011, 10:50   #1
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию Нубовопрос про tlist :)

Господа vcl-щики подскажите при вызове метода tlist.delete (clear) обьект titem просто удаляетса из списка или вызываетса его деструктор?

задача что нужно раз в сек сбрасывать tlist и перезаполнять. Если 2е то шляпа выдет пересоздавать элементы каждый раз.
__________________
читернуть бы ништяг
mira вне форума   Ответить с цитированием
Старый 18.07.2011, 11:32   #2
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

просто удаляется.
delphi Код:
procedure TList.Delete(Index: Integer); var   Temp: Pointer; begin   if (Index < 0) or (Index >= FCount) then     Error(@SListIndexError, Index);   Temp := Items[Index];   Dec(FCount);   if Index < FCount then     System.Move(FList^[Index + 1], FList^[Index],       (FCount - Index) * SizeOf(Pointer));   if Temp <> nil then     Notify(Temp, lnDeleted); end;
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 18.07.2011, 14:01   #3
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

mira, TList это просто список, ничего кроме хранения указателей он не делает. Для хранения объектов имхо удобнее TObjectList, ему при создании можно указать вызывать ли Free для удаляющихся элементов.
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 19.07.2011, 00:47   #4
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Значит titem не обязан вообще быть обьектом (классом)?
Если не обязан то вооще конфета. Мне нада хранить в листе указатели на структуры. Применять к ним сортировку ну и читать из листа их.

то прилип на реализации листбокса средствами директ-х.

Добавлено через 9 часов 33 минуты
еше вопросец на тему классов
вот такой код
Код:
TA = class(TObject)
 ....
end;
TB = class(TA)
...
end;
var
 myA : TA;
 myB : TB;

begin
 MyB:=TB.Create;
 MyA:=MyB; //это с точки зрения компиллятора корректно
 MyB:=MyA; //а тут по понятным причинам лажа
есть ли способ корректно сделать присвоение 2 типа (желательно с проверкой на совместимость) ?
__________________
читернуть бы ништяг

Последний раз редактировалось mira, 19.07.2011 в 00:47. Причина: Добавлено сообщение
mira вне форума   Ответить с цитированием
Старый 19.07.2011, 01:17   #5
Заблокирован
 
Регистрация: 25.03.2011
Сообщений: 18
Сказал Спасибо: 5
Имеет 4 спасибок в 3 сообщенях
GoodDrone пока неопределено
По умолчанию

Цитата:
Сообщение от mira Посмотреть сообщение
есть ли способ корректно сделать присвоение 2 типа (желательно с проверкой на совместимость) ?
MyB := MyA as TB; //кинет EInvalidCast, если неверный тип
MyB := TB(MyA); //тихо присвоит
GoodDrone вне форума   Ответить с цитированием
Старый 19.07.2011, 10:13   #6
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Мощненька
пасиб
__________________
читернуть бы ништяг
mira вне форума   Ответить с цитированием
Старый 20.07.2011, 21:58   #7
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от mira Посмотреть сообщение
Значит titem не обязан вообще быть обьектом (классом)?
эм, что ещё за TItem?
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 26.07.2011, 15:14   #8
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Все спс сделал как хотел =)
__________________
читернуть бы ништяг
mira вне форума   Ответить с цитированием
Старый 15.08.2011, 16:14   #9
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Шота я не понял фастмм (альтернативный мм-манагер) по дефолту чтоле непотокобезопасный?

в приложении при непанятных обстоятельствах возникают какието странные ошибки и приложение падает в различных местах без вывода ошибок зачастую. Сделал трассировочные переменные и опа - фейл на s:='npc/'+name+'/'+charname или какомнеть strnew.

Добавлено через 3 минуты
В проге могут выделять/освобождать память аж 3 нити.
Такая картина будто мм иной момент пытаетса выдать одну и туже память двум нитям разом и разваливаетса 'карта кучи' программы.
__________________
читернуть бы ништяг

Последний раз редактировалось mira, 15.08.2011 в 16:14. Причина: Добавлено сообщение
mira вне форума   Ответить с цитированием
Старый 15.08.2011, 16:28   #10
Заблокирован
 
Регистрация: 25.03.2011
Сообщений: 18
Сказал Спасибо: 5
Имеет 4 спасибок в 3 сообщенях
GoodDrone пока неопределено
По умолчанию

Цитата:
Сообщение от mira Посмотреть сообщение
Шота я не понял фастмм (альтернативный мм-манагер) по дефолту чтоле непотокобезопасный?
Поток надо стартовать System.BeginThread, либо руками выставить System.IsMultiThread := True.
GoodDrone вне форума   Ответить с цитированием
За это сообщение GoodDrone нажился 2 спасибками от:
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 03:39.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!