Главная Общее Классы Компоненты Примеры Ссылки            

Assign

Копирует один объект в другой, создавая копию всех данных объекта
Применяется к классам:
TBlobField, TBrush, TCheckConstraint, TClipboard, TCollection, TColumn, TColumnTitle, TControlScrollBar, TCoolBand, TCustomImageList, TDateTimeColors, TDimensionItems, TField, TFieldDefs, TFont, THeaderSection, TIndexDefs, TJPEGImage, TListColumn, TListItems, TOleGraphic, TParaAttributes, TParam, TParams, TPen, TPersistent, TSmallIntArray, TStatusPanel, TStringGridStrings, TStrings, TTextAttributes, TTreeNode, TTreeNodes.
О п и с а н и е.
Метод Assign копирует данные одного объекта в другой. Объявлен в классе TPersistent и перегружен в классах, производных от него. Некоторое число классов C++Builder поддерживает присваивание объектов разных типов. Для большинства же классов, производных от TPersistent, применение Assign к несовпадающим типам объектов источника и назначения ведет к генерации исключения EConvertError.
Метод Assign отличается по результатам от операции присваивания
<объект-назначение> := <объект-источник>;
При присваивании указатель на <объект-назначение> начинает указывать на <объект-источник>. А метод Assign создает новую копию объекта. После применения Assign имеется два объекта с одинаковыми данными.
Если объекты разного типа, то при вызове D.Assign(S) тип D должен "знать", как скопировать в него тип S (тип S может ничего не знать о преобразовании типов). Если метод Assign не может осуществить преобразование типов, то он вызывает защищенный метод AssignTo, объявленный в классе TPersistent и перегруженный в классах, производных от него. Вызов имеет вид S.AssignTo(D). Если и метод AssignTo не может осуществить преобразование или если он не перегружен, то вызывается AssignTo класса TPersistent и генерируется исключение.
назад

Наши партнёры и спонсоры:

Главная | Общее | Классы | Компоненты | Примеры | Ссылки |
© 2009 bcb.fud.ru
mailto:bcb@fud.ru