Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.29;
Скачать: CL | DM;

Вниз

Почему у TString property Objects, а нет Pointers?   Найти похожие ветки 

 
TStas ©   (2007-07-04 00:01) [0]

Ведь удобнее намного им было бы пользоваться, а так каждый раз надо класс писать. Был же какой-то резон, когда так написали?


 
Германн ©   (2007-07-04 01:06) [1]


> TStas ©   (04.07.07 00:01)
>
> Ведь удобнее намного им было бы пользоваться, а так каждый
> раз надо класс писать.

Из рекламы.
"- Не люблю кошек!
- Ты просто не умеешь их готовить!"
:)
Про приведение типов почитай.


 
Плохиш ©   (2007-07-04 01:15) [2]


> Ведь удобнее намного им было бы пользоваться

В чём удобство? В постоянном приведении указателя к нужному типу, да ещё и надо запоминать тип данных, каторые соизволил туда засунуть...
A с помощью преобразования типa к TObject туда можно засунуть любой указатель. И указатель на любой класс не делая никаких преобразований ни при засовывании, ни при последующем использовании...


 
Германн ©   (2007-07-04 01:45) [3]


> И указатель на любой класс не делая никаких преобразований
> ни при засовывании, ни при последующем использовании...

Вот это - главное.
Но
> при последующем использовании
всё таки придётся преобразовывать. :)


 
Плохиш ©   (2007-07-04 11:29) [4]


> > при последующем использовании
> всё таки придётся преобразовывать. :)

В 80% случаев, при грамотной разработке, явного преобразования не потребуется :-)


 
Думкин ©   (2007-07-04 11:36) [5]

А вот есть

FList : TObjectList;

и надо пробежаться по нему.

function TBalls.isFull: boolean;
var Ball : Pointer;
begin
    Result := true;
    for Ball in FList do ....;
end;


катит. А

function TBalls.isFull: boolean;
var Ball : TObject;
begin
    Result := true;
    for Ball in FList do ....;
end;


не катит. :(


 
Desdechado ©   (2007-07-04 11:45) [6]

А я там вообще Integer"ы храню. Очень удобно для списков с внутренними идентификаторами.


 
Плохиш ©   (2007-07-04 12:34) [7]


> Думкин ©   (04.07.07 11:36) [5]


0046E4BA E86961FAFF       call TList.GetEnumerator

Хм, всё правильно, в TList храняться Pointer и его GetEnumerator возвращает Pointer. Стоит швырнуть в разработчиков тортом :-)



Страницы: 1 вся ветка

Текущий архив: 2007.07.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
15-1182293502
Riply
2007-06-20 02:51
2007.07.29
Самое "часто-встречающиеся" имя в интернете ?


15-1183467755
Сергей М.
2007-07-03 17:02
2007.07.29
"Непонятка" в FastReport 3.x


15-1183525244
Kerk
2007-07-04 09:00
2007.07.29
Никому нельзя верить?


15-1183029982
Kostafey
2007-06-28 15:26
2007.07.29
Как сделать исполняемый jar - файл ?


15-1183130798
linzaolog
2007-06-29 19:26
2007.07.29
аналог ListBox