﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Программирование / VBA  / Как передать массив в класс / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Sat, 10 Jan 2009 06:41:37 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Как передать массив в класс</title><link>http://www.relib.com/forums/Topic913024-11-1.aspx</link><description>Это и так понятно. Проблема только в том, что в классе нельзя создавать свои типы. Все равно спасибо. Я буду иметь в виду такую возможность.&lt;/P&gt;&lt;P&gt;Кстати, я разобрался со своей проблемой. Массив можно передавать в класс, только для этого его нужно присвоить переменной, которая в этом случае будет хранить ссылку на массив, и эту переменную можно присваивать свойству класса. А уже в классе можно написать инициализацию массива на основе этой переменной, только для этого надо писать цикл — обычное присваивание не поможет. Этот способ позволяет передавать массив в процедуру, функцию и получать из функции.</description><pubDate>Mon, 07 May 2007 12:48:42 GMT</pubDate><dc:creator>AphaCat</dc:creator></item><item><title>RE: Как передать массив в класс</title><link>http://www.relib.com/forums/Topic913024-11-1.aspx</link><description>Можно создать свой собственный тип, в описании которого будет указан массив нужной размерности и работать с переменными этого типа (в том числе и передавать их). Примерно так&lt;/P&gt;&lt;P&gt;[code]&lt;/P&gt;&lt;P&gt;Type MyType&lt;BR&gt;  M(1 To 10) As Integer&lt;BR&gt;End Type&lt;/P&gt;&lt;P&gt;Public Sub Test()&lt;BR&gt;  Dim A As MyType, B As MyType, i As Integer&lt;BR&gt;  For i = 1 To 10 'инициализация массивов &lt;BR&gt;    A.M(i) = i&lt;BR&gt;    B.M(i) = 0&lt;BR&gt;  Next i&lt;BR&gt;  MsgBox B.M(3)&lt;BR&gt;  B = A 'присвоение одному массиву значений другого&lt;BR&gt;  MsgBox B.M(3)&lt;BR&gt;End Sub&lt;/P&gt;&lt;P&gt;[/code]&lt;BR&gt;</description><pubDate>Mon, 07 May 2007 09:26:18 GMT</pubDate><dc:creator>mmos</dc:creator></item><item><title>Как передать массив в класс</title><link>http://www.relib.com/forums/Topic913024-11-1.aspx</link><description>Если свойство класса представлено одним числом, то просто делается присваивание, обрабатываемое процедурой Property Let (или Set). А если свойством класса является массив значений, то как его передать в класс? При том, что VBA 6 допускает присваивать динамическому массиву другой массив, запись в виде A.Array1=Array2 выдает ошибку Can't assign to an array.&lt;P&gt;Неужели придется передавать массив в виде аргумента функции? Так не хочется. Верю, что должен быть человеческий способ присваивания массива свойству класса.&lt;/P&gt;&lt;P&gt;Помогите, кто что знает.</description><pubDate>Sat, 05 May 2007 11:00:49 GMT</pubDate><dc:creator>AphaCat</dc:creator></item></channel></rss>