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

Вниз

Интерфейсы. А надо ли их освобождать?   Найти похожие ветки 

 
saxon   (2006-12-06 13:28) [40]


> DevilDevil ©   (06.12.06 13:23) [38]
> Где можно про это почитать?

MSDN, Help, Books ...


 
app ©   (2006-12-06 13:29) [41]


> Integer, например, то её изначальное значение может быть
> любым.

Для Integer это ноль.
Это же базис Дельфи.


 
DrPass ©   (2006-12-06 13:44) [42]


> допустим я объявил Интерфейс в теле своего класса. Он по-
> идее не должен быть nil, он может содержать что угодно

Поля класса всегда инициализируются пустыми значениями при создании экземпляра класса, если иное явно не задано в конструкции. Ты путаешь с локальными переменными процедур и функций.
Что касается локальной переменной-указателем на интерфейс, то в отличие от того же integer, компилятор тоже для нее сгенерирует код очистки, так что она по умолчанию будет установлена в nil всегда


 
Игорь Шевченко ©   (2006-12-06 13:58) [43]

DevilDevil ©   (06.12.06 13:23) [38]


> Ты хочешь сказать, что Delphi сам присваивает интерфейсу
> в конструкторе значение nil. Где можно про это почитать?
>


В справке, разумеется.


 
oxffff ©   (2006-12-06 14:28) [44]


>
> DevilDevil ©   (06.12.06 13:23) [38]
>
> > Игорь Шевченко ©   (06.12.06 13:17) [36]
>
>
> Если объявить не интерфейс, а другую переменную, Integer,
>  например, то её изначальное значение может быть любым.
> Ты хочешь сказать, что Delphi сам присваивает интерфейсу
> в конструкторе значение nil. Где можно про это почитать?
>


См. Tobject

-class function InitInstance(Instance: Pointer): TObject;
-procedure CleanupInstance;


 
oxffff ©   (2006-12-06 14:43) [45]

Для локальных переменных interface и string

var  a:IUnknown;
     b:string;

код на asm будет

push 0
push 0

А не sub esp,8

Таким образом они всегда инициализированы.


 
DevilDevil ©   (2006-12-06 15:14) [46]

Всем Thanks!!!



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

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

Наверх




Память: 0.54 MB
Время: 0.035 c
15-1164914852
Pazitron_Brain
2006-11-30 22:27
2006.12.24
Керк, с Днем рождения!


15-1164902940
vasIzmax
2006-11-30 19:09
2006.12.24
Ради интереса!


2-1165215033
sergeyst
2006-12-04 09:50
2006.12.24
создание форм


15-1165237556
Рамиль
2006-12-04 16:05
2006.12.24
Альтернатива Enterprise Manager для MS SQL Express


15-1164922671
ЭРИКА
2006-12-01 00:37
2006.12.24
С ДНЕМ РОЖДЕНИЯ!