Работа метода AssignDelphi , Компоненты и Классы , Процедуры и функцииРабота метода AssignВ общем случае, утверждение "Destination := Source" не идентично утверждению "Destination.Assign(Source)". Утверждение "Destination := Source" принуждает Destination ссылаться на тот же объект, что и Source, а "Destination.Assign(Source)" копирует содержание объектных ссылок Source в объектные ссылки Destination. Если Destination является свойством некоторого объекта (тем не менее, и свойство не является ссылкой на другой объект, как, например, свойство формы ActiveControl, или свойство DataSource элементов управления для работы с базами данных), тогда утверждение "Destination := Source" идентично утверждению "Destination.Assign(Source)". Это объясняет, почему LB.Items := MemStr работает, когда MemStr := LB.Items нет. Метод Первое заявление заставляет Destination ссылаться на тот же объект, что и Source, в то время как второе копирует содержимое объектных ссылок из Source в Destination. Если Destination является свойством некоторого объекта (не являясь ссылкой на другой объект, например, ActiveControl или DataSource для работы с базами данных), то заявление "Destination := Source" идентично заявлению "Destination.Assign(Source)". Это объясняет почему Таким образом, ключевое отличие между этими двумя заявлениями лежит в том, является ли Destination объектом или свойством. Если это объект, то первое заявление присваивает ссылку Source Destination, а если это свойство, то оба заявления достигают одного и того же результата - копирования содержимого из Source в Destination. Метод Assign в Delphi позволяет копировать содержимое объектных ссылок из одного источника в другой, отличаясь от присваивания с помощью оператора ":=" в том, что не создает новую связь между объектами. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Процедуры и функции ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |